| 
					
				 | 
			
			
				@ -1,1002 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.resource.controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.ehr.constants.ServiceApi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.ehr.constants.ApiVersion; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.ehr.resource.RsAppResourceMetadata; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ehr.org.MRsOrgResource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ehr.org.MRsOrgResourceMetadata; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ehr.resource.MRsAppResource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ehr.resource.MRsAppResourceMetadata; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ehr.resource.MRsRolesResource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ehr.resource.MRsRolesResourceMetadata; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ListEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.PageEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.id.BizObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.ehr.resource.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.resource.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.domain.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.MediaType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Propagation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by lyr on 2016/4/26. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RequestMapping(value = ApiVersion.Version1_0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(value = "RsResourceGrantEndPoint", description = "资源授权", tags = {"资源服务-资源授权"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class RsResourceGrantEndPoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsResourceService rsResourceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsResourceGrantService rsGrantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsAppResourceMetadataGrantService rsMetadataGrantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsRolesResourceMetadataGrantService rolesResourceMetadataGrantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsRolesResourceGrantService rolesResourceGrantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsOrgResourceGrantService orgResourceGrantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsOrgResourceMetadataGrantService orgResourceMetadataGrantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RsResourceMetadataService rsResourceMetadataService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个应用授权多个资源") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.AppsGrantResources, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsAppResource> grantAppResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appId", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "appId") String appId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds") String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResource> appRsList = new ArrayList<RsAppResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            RsAppResource appRs = new RsAppResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRs.setId(getObjectId(BizObject.AppResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRs.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRsList.add(appRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(rsGrantService.grantResourceBatch(appRsList), new ArrayList<>(appRsList.size()), MRsAppResource.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源授权多个应用") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceGrantApps, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsAppResource> grantResourceApp( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceId", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "resourceId") String resourceId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appIds", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "appIds") String appIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] appIdArray = appIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResource> appRsList = new ArrayList<RsAppResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResource> rsGrant = rsGrantService.search("", "resourceId=" + resourceId + ";appId=" + appIds, "", 1, 999); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String existGrant = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsAppResource rsAppResource : rsGrant) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            existGrant += "," + rsAppResource.getAppId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String _appId : appIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (existGrant.contains(_appId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            RsAppResource appRs = new RsAppResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRs.setId(getObjectId(BizObject.AppResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRs.setAppId(_appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRs.setResourceId(resourceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRsList.add(appRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(rsGrantService.addList(appRsList, resourceId), new ArrayList<>(appRsList.size()), MRsAppResource.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源授权删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceGrant, method = RequestMethod.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsGrantService.deleteResourceGrant(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源授权批量删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceGrants, method = RequestMethod.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteGrantBatch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "ids", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "ids") String ids) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsGrantService.deleteGrantByIds(ids.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceGrant, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("根据ID获取资源授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsAppResource getRsAppGrantById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rsGrantService.getRsAppGrantById(id), MRsAppResource.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsAppResource> queryAppResourceGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "fields", value = "返回字段", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "sorts", value = "排序", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "sorts", required = false) String sorts, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "page", value = "页码", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "page", required = false) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "分页大小", defaultValue = "15") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size", required = false) int size, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletResponse response) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long total = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsAppResource> rsAppList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //过滤条件为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(filters)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Page<RsAppResource> rsGrant = rsGrantService.getAppResourceGrant(sorts, reducePage(page), size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rsGrant.getTotalElements(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsAppList = convertToModels(rsGrant.getContent(), new ArrayList<>(rsGrant.getNumber()), MRsAppResource.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<RsAppResource> rsGrant = rsGrantService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rsGrantService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsAppList = convertToModels(rsGrant, new ArrayList<>(rsGrant.size()), MRsAppResource.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        pagedResponse(request, response, total, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsAppResource>) rsAppList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源授权查询-不分页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceGrantsNoPage, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsAppResource> queryAppResourceGrantNoPage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsAppResource> rsAppList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResource> rsGrant = rsGrantService.search(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsAppList = convertToModels(rsGrant, new ArrayList<>(rsGrant.size()), MRsAppResource.class, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsAppResource>) rsAppList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrantApp, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsAppResourceMetadata grantRsMetaData( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "metadataId", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "metadataId") String metadataId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appResourceId", value = "资源数据元ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "appResourceId") String appResourceId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsAppResourceMetadata appRsMetadata = new RsAppResourceMetadata(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        appRsMetadata.setId(getObjectId(BizObject.AppResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        appRsMetadata.setAppResourceId(appResourceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        appRsMetadata.setResourceMetadataId(metadataId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsMetadataGrantService.grantRsMetadata(appRsMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(appRsMetadata, MRsAppResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元批量授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataListGrantApp, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsAppResourceMetadata> grantRsMetaDataBatch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appResourceId", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "appResourceId") String appResourceId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "metadataIds", value = "资源数据元ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "metadataIds") String metadataIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] metadataIdArray = metadataIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResourceMetadata> appRsMetadataList = new ArrayList<RsAppResourceMetadata>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String _metadataId : metadataIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            RsAppResourceMetadata appRsMetadata = new RsAppResourceMetadata(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRsMetadata.setId(getObjectId(BizObject.AppResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRsMetadata.setAppResourceId(appResourceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRsMetadata.setResourceMetadataId(_metadataId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            appRsMetadataList.add(appRsMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsMetadataGrantService.grantRsMetadataBatch(appRsMetadataList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(appRsMetadataList, new ArrayList<>(appRsMetadataList.size()), MRsAppResourceMetadata.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元授权删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrant, method = RequestMethod.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteMetadataGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsMetadataGrantService.deleteRsMetadataGrant(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元授权批量删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrants, method = RequestMethod.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteMetadataGrantBatch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "ids", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "ids") String ids) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsMetadataGrantService.deleteRsMetadataGrant(ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrant, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("根据ID获取资源数据元授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsAppResourceMetadata getRsMetadataGrantById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rsMetadataGrantService.getRsMetadataGrantById(id), MRsAppResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsAppResourceMetadata> queryAppRsMetadataGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "fields", value = "返回字段", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "sorts", value = "排序", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "sorts", required = false) String sorts, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "page", value = "页码", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "page", required = false) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "分页大小", defaultValue = "15") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size", required = false) int size, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletResponse response) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long total = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsAppResourceMetadata> rsAppMetaList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //过滤条件为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(filters)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Page<RsAppResourceMetadata> rsMetadataGrant = rsMetadataGrantService.getAppRsMetadataGrant(sorts, reducePage(page), size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rsMetadataGrant.getTotalElements(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsAppMetaList = convertToModels(rsMetadataGrant.getContent(), new ArrayList<>(rsMetadataGrant.getNumber()), MRsAppResourceMetadata.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<RsAppResourceMetadata> rsMetadataGrant = rsMetadataGrantService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rsMetadataGrantService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsAppMetaList = convertToModels(rsMetadataGrant, new ArrayList<>(rsMetadataGrant.size()), MRsAppResourceMetadata.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        pagedResponse(request, response, total, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsAppResourceMetadata>) rsAppMetaList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceAppMetadataGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsAppResourceMetadata> getAppRsMetadatas( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "app_res_id", value = "授权应用编号", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "app_res_id") String appResId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsAppResource appResource = rsGrantService.retrieve(appResId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResourceMetadata> rsMetadataGrant = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (appResource != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsMetadataGrant = rsMetadataGrantService.getAppRsMetadatas(appResource.getId(), appResource.getAppId(), appResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(rsMetadataGrant, new ArrayList<>(rsMetadataGrant.size()), MRsAppResourceMetadata.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元生失效操作") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadatasValid, method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean valid( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "data", value = "授权数据元", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody List<RsAppResourceMetadata> data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "valid", value = "授权数据元ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "valid") int valid) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String ids = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (valid == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsAppResourceMetadata metadata : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ids += "," + metadata.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List addLs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsAppResourceMetadata metadata : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!StringUtils.isEmpty(metadata.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ids += "," + metadata.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    metadata.setId(getObjectId(BizObject.AppResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addLs.add(metadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsMetadataGrantService.grantRsMetadataBatch(addLs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (ids.length() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsMetadataGrantService.valid(ids.substring(1), valid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元维度授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrant, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsAppResourceMetadata metadataGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dimension", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dimension") String dimension) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsAppResourceMetadata rsAppResourceMetadata = rsMetadataGrantService.retrieve(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsAppResourceMetadata.setDimensionValue(dimension); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsMetadataGrantService.save(rsAppResourceMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rsAppResourceMetadata, MRsAppResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("资源数据元维度授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceMetadataGrants, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    MRsAppResourceMetadata metadataGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody RsAppResourceMetadata model) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(model.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            model.setId(getObjectId(BizObject.AppResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rsMetadataGrantService.save(model), MRsAppResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("查询资源应用下存在多少授权数据元") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceAppMetadataGrantExistence, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    List<Map> appMetaExistence( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dimension", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam("res_app_ids") String resAppIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map> ls = rsMetadataGrantService.appMetaExistence(resAppIds.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ls; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组资源授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsRolesResource> queryRolesResourceGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "fields", value = "返回字段", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "sorts", value = "排序", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "sorts", required = false) String sorts, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "page", value = "页码", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "page", required = false) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "分页大小", defaultValue = "999") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size", required = false) int size, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletResponse response) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long total = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsRolesResource> rsRolesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //过滤条件为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(filters)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Page<RsRolesResource> rsGrant = rolesResourceGrantService.getRolesResourceGrant(sorts, reducePage(page), size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rsGrant.getTotalElements(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsRolesList = convertToModels(rsGrant.getContent(), new ArrayList<>(rsGrant.getNumber()), MRsRolesResource.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<RsRolesResource> rsGrant = rolesResourceGrantService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rolesResourceGrantService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsRolesList = convertToModels(rsGrant, new ArrayList<>(rsGrant.size()), MRsRolesResource.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        pagedResponse(request, response, total, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsRolesResource>) rsRolesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组资源数据元生失效操作") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesMetadatasValid, method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean rolesValid( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "data", value = "授权数据元", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody List<RsRolesResourceMetadata> data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "valid", value = "授权数据元ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "valid") int valid) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String ids = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (valid == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsRolesResourceMetadata metadata : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ids += "," + metadata.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List addLs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsRolesResourceMetadata metadata : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!StringUtils.isEmpty(metadata.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ids += "," + metadata.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    metadata.setId(getObjectId(BizObject.RolesResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addLs.add(metadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rolesResourceMetadataGrantService.grantRsRolesMetadataBatch(addLs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (ids.length() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rolesResourceMetadataGrantService.rolesValid(ids.substring(1), valid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组资源数据元维度授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesGrant, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsRolesResourceMetadata metadataRolesGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dimension", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dimension") String dimension) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsRolesResourceMetadata rsRolesResourceMetadata = rolesResourceMetadataGrantService.retrieve(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsRolesResourceMetadata.setDimensionValue(dimension); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rolesResourceMetadataGrantService.save(rsRolesResourceMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rsRolesResourceMetadata, MRsRolesResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组资源数据元维度授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesMetadataGrants, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    MRsRolesResourceMetadata rolesMetadataGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody RsRolesResourceMetadata model) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(model.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            model.setId(getObjectId(BizObject.RolesResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rolesResourceMetadataGrantService.save(model), MRsRolesResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个角色组授权多个资源") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.RolesGrantResources, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsRolesResource> grantRolesResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "rolesId", value = "角色组ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "rolesId") String rolesId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds") String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResource> rolesRsList = new ArrayList<RsRolesResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            RsRolesResource rolesRs = new RsRolesResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rolesRs.setId(getObjectId(BizObject.RolesResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rolesRs.setRolesId(rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rolesRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rolesRsList.add(rolesRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(rolesResourceGrantService.grantResourceBatch(rolesRsList), new ArrayList<>(rolesRsList.size()), MRsRolesResource.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组授权资源查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.GetRolesGrantResources, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop getRolesGrantResources( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "rolesId", value = "角色组ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "rolesId") String rolesId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "userId", value = "用户ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "userId") String userId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ListEnvelop envelop = new ListEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Set<String> idSet = new HashSet<String>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResource> rolesRsList = rolesResourceGrantService.search("rolesId=" + rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsRolesResource rsRolesResource : rolesRsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            idSet.add(rsRolesResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsResource> rsResourceList = rsResourceService.search("creator=" + userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsResource rsResource : rsResourceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            idSet.add(rsResource.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> idList = new ArrayList<String>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        idList.addAll(idSet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setDetailModelList(idList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组资源数据元授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesResMetadataGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsRolesResourceMetadata> getRolesRsMetadatas( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "roles_res_id", value = "授权应用编号", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "roles_res_id") String rolesResId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appId", value = "应用编号", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "appId", required = false) String appId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsRolesResource rolesResource = rolesResourceGrantService.retrieve(rolesResId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResourceMetadata> rsMetadataGrant = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResourceMetadata> rsMetadataGrantApp = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (rolesResource != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsMetadataGrant = rolesResourceMetadataGrantService.getRolesRsMetadatas(rolesResource.getId(), rolesResource.getRolesId(), rolesResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtils.isEmpty(appId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> list = rsMetadataGrantService.getMetadataIdByAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsRolesResourceMetadata resourceMetadata : rsMetadataGrant) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (list.contains(resourceMetadata.getResourceMetadataId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    rsMetadataGrantApp.add(resourceMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return convertToModels(rsMetadataGrantApp, new ArrayList<>(rsMetadataGrantApp.size()), MRsRolesResourceMetadata.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(rsMetadataGrant, new ArrayList<>(rsMetadataGrant.size()), MRsRolesResourceMetadata.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组取消资源授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesGrantsNoPage, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsRolesResource> queryRolesResourceGrantNoPage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsRolesResource> rsRolesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResource> rsGrant = rolesResourceGrantService.search(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsRolesList = convertToModels(rsGrant, new ArrayList<>(rsGrant.size()), MRsRolesResource.class, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsRolesResource>) rsRolesList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组资源授权批量删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesGrants, method = RequestMethod.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteRolesGrantBatch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "ids", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "ids") String ids) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rolesResourceGrantService.deleteGrantByIds(ids.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceRolesMetadataGrant, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("角色组-资源授权-维度授权-根据ID获取资源数据元授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsRolesResourceMetadata getRolesRsMetadataGrantById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rolesResourceMetadataGrantService.getRsRolesMetadataGrantById(id), MRsRolesResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //机构授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构资源授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsOrgResource> queryOrgResourceGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "fields", value = "返回字段", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "sorts", value = "排序", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "sorts", required = false) String sorts, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "page", value = "页码", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "page", required = false) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "分页大小", defaultValue = "999") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size", required = false) int size, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletRequest request, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpServletResponse response) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long total = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsOrgResource> rsOrgList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //过滤条件为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(filters)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Page<RsOrgResource> rsGrant = orgResourceGrantService.getOrgResourceGrant(sorts, reducePage(page), size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = rsGrant.getTotalElements(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsOrgList = convertToModels(rsGrant.getContent(), new ArrayList<>(rsGrant.getNumber()), MRsOrgResource.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<RsOrgResource> rsGrant = orgResourceGrantService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = orgResourceGrantService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsOrgList = convertToModels(rsGrant, new ArrayList<>(rsGrant.size()), MRsOrgResource.class, fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        pagedResponse(request, response, total, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsOrgResource>) rsOrgList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构资源数据元生失效操作") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgMetadatasValid, method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean orgValid( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "data", value = "授权数据元", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody List<RsOrgResourceMetadata> data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "valid", value = "授权数据元ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "valid") int valid) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String ids = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (valid == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsOrgResourceMetadata metadata : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ids += "," + metadata.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List addLs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsOrgResourceMetadata metadata : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!StringUtils.isEmpty(metadata.getId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ids += "," + metadata.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    metadata.setId(getObjectId(BizObject.OrgResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    addLs.add(metadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgResourceMetadataGrantService.grantRsOrgMetadataBatch(addLs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (ids.length() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgResourceMetadataGrantService.orgValid(ids.substring(1), valid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构资源数据元维度授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgGrant, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsOrgResourceMetadata metadataOrgGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dimension", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dimension") String dimension) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsOrgResourceMetadata rsOrgResourceMetadata = orgResourceMetadataGrantService.retrieve(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsOrgResourceMetadata.setDimensionValue(dimension); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        orgResourceMetadataGrantService.save(rsOrgResourceMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(rsOrgResourceMetadata, MRsOrgResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构资源数据元维度授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgMetadataGrants, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    MRsOrgResourceMetadata orgMetadataGrant( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody RsOrgResourceMetadata model) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(model.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            model.setId(getObjectId(BizObject.OrgResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(orgResourceMetadataGrantService.save(model), MRsOrgResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个机构授权多个资源") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.OrgGrantResources, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsOrgResource> grantOrgResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "orgCode", value = "机构ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "orgCode") String orgCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds") String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsOrgResource> orgRsList = new ArrayList<RsOrgResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            RsOrgResource orgRs = new RsOrgResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgRs.setId(getObjectId(BizObject.RolesResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgRs.setOrganizationId(orgCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgRsList.add(orgRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(orgResourceGrantService.grantResourceBatch(orgRsList), new ArrayList<>(orgRsList.size()), MRsOrgResource.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构资源数据元授权查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgResMetadataGrants, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Collection<MRsOrgResourceMetadata> getOrgRsMetadatas( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "Org_res_id", value = "授权应用编号", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "Org_res_id") String orgResId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        RsOrgResource orgResource = orgResourceGrantService.retrieve(orgResId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsOrgResourceMetadata> rsMetadataGrant = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (orgResource != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsMetadataGrant = orgResourceMetadataGrantService.getOrgRsMetadatas(orgResource.getId(), orgResource.getOrganizationId(), orgResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModels(rsMetadataGrant, new ArrayList<>(rsMetadataGrant.size()), MRsOrgResourceMetadata.class, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(" 机构取消资源授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgGrantsNoPage, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<MRsOrgResource> queryOrgResourceGrantNoPage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters", required = false) String filters) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collection<MRsOrgResource> rsOrgList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsOrgResource> rsGrant = orgResourceGrantService.search(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsOrgList = convertToModels(rsGrant, new ArrayList<>(rsGrant.size()), MRsOrgResource.class, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<MRsOrgResource>) rsOrgList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构资源授权批量删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgGrants, method = RequestMethod.DELETE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean deleteOrgGrantBatch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "ids", value = "授权ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "ids") String ids) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        orgResourceGrantService.deleteGrantByIds(ids.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.ResourceOrgMetadataGrant, method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("机构-资源授权-维度授权-根据ID获取资源数据元授权") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MRsOrgResourceMetadata getOrgRsMetadataGrantById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @PathVariable(value = "id") String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return convertToModel(orgResourceMetadataGrantService.getRsOrgMetadataGrantById(id), MRsOrgResourceMetadata.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-----------------------------------------------------------应用数据元一键(取消)授权  start---------------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个应用一键授权多个资源(数据元)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.AppsGrantResourcesByCategoryId, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop AppsGrantResourcesByCategoryId( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appId", value = "应用ID", defaultValue = "zkGuSIm2Fg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "appId") String appId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "categoryIds", value = "视图分类ID", defaultValue = "0dae002159535497b3865e129433e933") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "categoryIds", required = false) String categoryIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "d3beebf86ed611e89f87fa163e20f96e") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds", required = false) String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResource> appRsList = new ArrayList<RsAppResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PageEnvelop envelop = new PageEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(resourceIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isEmpty(categoryIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setMessage("视图分类id与资源id不能同时为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //根据视图分类id获取视图list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] categoryIdArray = categoryIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (String categoryId : categoryIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //根据视图分类id获取 档案数据资源list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<RsResource> resourceList = rsResourceService.findByCategoryIdAndDataSource(categoryId, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (RsResource rsResource : resourceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        RsAppResource appRs = new RsAppResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRs.setId(getObjectId(BizObject.AppResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRs.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRs.setResourceId(rsResource.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRsList.add(appRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                RsAppResource appRs = new RsAppResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRs.setId(getObjectId(BizObject.AppResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRs.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRsList.add(appRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找视图是否已经授权,删除已授权数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsAppResource rsAppResource : appRsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> rsAppResourcesear = rsGrantService.findByrsResourceIdAndAppId(rsAppResource.getResourceId(), appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null != rsAppResourcesear && rsAppResourcesear.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rsGrantService.deleteGrantByIds(rsAppResourcesear.toArray(new String[rsAppResourcesear.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //授权视图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rsGrantService.grantResourceBatch(appRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //授权视图数据元 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        updateRsAppResourceMetadataByRsAppResource(appId, appRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setDetailModelList(appRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setTotalCount(appRsList.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 一键授权-授权数据元 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void updateRsAppResourceMetadataByRsAppResource(String appId, List<RsAppResource> list) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResourceMetadata> appRsMetadataList = new ArrayList<RsAppResourceMetadata>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null != list && list.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsAppResource rsAppResource : list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //根据rs_resoruceId获取rs_resource_metadata中的数据元,授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<RsResourceMetadata> rsResourceMetadataList = rsResourceMetadataService.getRsMetadataByResourcesId(rsAppResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (RsResourceMetadata rsResourceMetadata : rsResourceMetadataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    RsAppResourceMetadata appRsMetadata = new RsAppResourceMetadata(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadata.setId(getObjectId(BizObject.AppResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadata.setAppResourceId(rsAppResource.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadata.setResourceMetadataId(rsResourceMetadata.getMetadataId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadata.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadata.setResourceMetadataName((null != rsResourceMetadata.getDescription() ? rsResourceMetadata.getDescription().substring(rsResourceMetadata.getDescription().indexOf("--") + 2) : "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadataList.add(appRsMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rsMetadataGrantService.grantRsMetadataBatch(appRsMetadataList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个应用--------一键取消授权多个资源(数据元)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.DeleteAppsGrantResourcesByCategoryId, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop DeleteAppsGrantResourcesByCategoryId( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appId", value = "应用ID", defaultValue = "zkGuSIm2Fg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "appId") String appId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "categoryIds", value = "视图分类ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "categoryIds", required = false) String categoryIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "d3beebf86ed611e89f87fa163e20f96e") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds", required = false) String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsAppResource> appRsList = new ArrayList<RsAppResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PageEnvelop envelop = new PageEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(resourceIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isEmpty(categoryIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setMessage("视图分类id与资源id不能同时为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //根据视图分类id获取视图list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] categoryIdArray = categoryIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (String categoryId : categoryIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //根据视图分类id获取 档案数据资源list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<RsResource> resourceList = rsResourceService.findByCategoryIdAndDataSource(categoryId, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (RsResource rsResource : resourceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        RsAppResource appRs = new RsAppResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRs.setId(getObjectId(BizObject.AppResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRs.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRs.setResourceId(rsResource.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        appRsList.add(appRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                RsAppResource appRs = new RsAppResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRs.setId(getObjectId(BizObject.AppResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRs.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                appRsList.add(appRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找视图是否已经授权,删除已授权数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsAppResource rsAppResource : appRsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> rsAppResourcesear = rsGrantService.findByrsResourceIdAndAppId(rsAppResource.getResourceId(), appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null != rsAppResourcesear && rsAppResourcesear.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rsGrantService.deleteGrantByIds(rsAppResourcesear.toArray(new String[rsAppResourcesear.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setDetailModelList(appRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setTotalCount(appRsList.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-----------------------------------------------------------应用数据元一键(取消)授权 end---------------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-----------------------------------------------------------角色组数据元一键(取消)授权 start------------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个角色组----一键授权多个资源") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.RolesGrantResourcesByCategoryId, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop rolesGrantResourcesByCategoryId( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "rolesId", value = "角色组ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "rolesId") String rolesId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appId", value = "应用ID", defaultValue = "zkGuSIm2Fg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "appId") String appId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "categoryIds", value = "视图分类ID", defaultValue = "0dae002159535497b3865e129433e933") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "categoryIds", required = false) String categoryIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "d3beebf86ed611e89f87fa163e20f96e") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds", required = false) String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResource> rolesRsList = new ArrayList<RsRolesResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PageEnvelop envelop = new PageEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(resourceIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isEmpty(categoryIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setMessage("视图分类id与资源id不能同时为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //根据视图分类id获取视图list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] categoryIdArray = categoryIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (String categoryId : categoryIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //根据视图分类id获取 档案数据资源list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<String> rsResourceIdList = rsResourceService.findIdByCategoryIdAndDataSource(categoryId, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(null!= rsResourceIdList && rsResourceIdList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        List<RsAppResource> rsResourceList = rsGrantService.findByrsResourceIds(rsResourceIdList.toArray(new String[rsResourceIdList.size()]),appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        for (RsAppResource rsResource : rsResourceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            RsRolesResource rolesRs = new RsRolesResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRs.setId(getObjectId(BizObject.RolesResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRs.setRolesId(rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRs.setResourceId(rsResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRsList.add(rolesRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                RsRolesResource rolesRs = new RsRolesResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRs.setId(getObjectId(BizObject.RolesResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRs.setRolesId(rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRsList.add(rolesRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找视图是否已经授权,删除已授权数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsRolesResource rsAppResource : rolesRsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> rsAppResourcesear = rolesResourceGrantService.findIdByResourceIdAndRolesId(rsAppResource.getResourceId(), rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null != rsAppResourcesear && rsAppResourcesear.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesResourceGrantService.deleteGrantByIds(rsAppResourcesear.toArray(new String[rsAppResourcesear.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //授权视图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rolesResourceGrantService.grantResourceBatch(rolesRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //授权视图数据元 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        updateRsRolrResourceMetadataByRsAppResource(rolesId, rolesRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setDetailModelList(rolesRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setTotalCount(rolesRsList.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 一键授权-授权数据元 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void updateRsRolrResourceMetadataByRsAppResource(String rolesId, List<RsRolesResource> list) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResourceMetadata> appRsMetadataList = new ArrayList<RsRolesResourceMetadata>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null != list && list.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (RsRolesResource rsAppResource : list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //根据rs_resoruceId获取rs_resource_metadata中的数据元,授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<RsResourceMetadata> rsResourceMetadataList = rsResourceMetadataService.getRsMetadataByResourcesId(rsAppResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (RsResourceMetadata rsResourceMetadata : rsResourceMetadataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    RsRolesResourceMetadata rsRolesResourceMetadata = new RsRolesResourceMetadata(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    rsRolesResourceMetadata.setId(getObjectId(BizObject.AppResourceMetadata)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    rsRolesResourceMetadata.setRolesResourceId(rsAppResource.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    rsRolesResourceMetadata.setResourceMetadataId(rsResourceMetadata.getMetadataId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    rsRolesResourceMetadata.setRolesId(rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    rsRolesResourceMetadata.setResourceMetadataName((null != rsResourceMetadata.getDescription() ? rsResourceMetadata.getDescription().substring(rsResourceMetadata.getDescription().indexOf("--") + 2) : "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    appRsMetadataList.add(rsRolesResourceMetadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesResourceMetadataGrantService.grantRsRolesMetadataBatch(appRsMetadataList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("单个角色组----一键取消授权多个资源") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = ServiceApi.Resources.DeleteRolesGrantResourcesByCategoryId, method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop deleteRolesGrantResourcesByCategoryId( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "rolesId", value = "角色组ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "rolesId") String rolesId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "appId", value = "应用ID", defaultValue = "zkGuSIm2Fg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "appId") String appId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "categoryIds", value = "视图分类ID", defaultValue = "0dae002159535497b3865e129433e933") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "categoryIds", required = false) String categoryIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "resourceIds", value = "资源ID", defaultValue = "d3beebf86ed611e89f87fa163e20f96e") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "resourceIds", required = false) String resourceIds) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RsRolesResource> rolesRsList = new ArrayList<RsRolesResource>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PageEnvelop envelop = new PageEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(resourceIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isEmpty(categoryIds)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop.setMessage("视图分类id与资源id不能同时为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //根据视图分类id获取视图list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] categoryIdArray = categoryIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (String categoryId : categoryIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //根据视图分类id获取 档案数据资源list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<String> rsResourceIdList = rsResourceService.findIdByCategoryIdAndDataSource(categoryId, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(null!= rsResourceIdList && rsResourceIdList.size()>0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        List<RsAppResource> rsResourceList = rsGrantService.findByrsResourceIds(rsResourceIdList.toArray(new String[rsResourceIdList.size()]), appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        for (RsAppResource rsResource : rsResourceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            RsRolesResource rolesRs = new RsRolesResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRs.setId(getObjectId(BizObject.RolesResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRs.setRolesId(rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRs.setResourceId(rsResource.getResourceId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            rolesRsList.add(rolesRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] resourceIdArray = resourceIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String resoruceId : resourceIdArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                RsRolesResource rolesRs = new RsRolesResource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRs.setId(getObjectId(BizObject.RolesResource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRs.setRolesId(rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRs.setResourceId(resoruceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesRsList.add(rolesRs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找视图是否已经授权,删除已授权数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (RsRolesResource rsAppResource : rolesRsList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> rsAppResourcesear = rolesResourceGrantService.findIdByResourceIdAndRolesId(rsAppResource.getResourceId(), rolesId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null != rsAppResourcesear && rsAppResourcesear.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rolesResourceGrantService.deleteGrantByIds(rsAppResourcesear.toArray(new String[rsAppResourcesear.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setDetailModelList(rolesRsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setTotalCount(rolesRsList.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//-----------------------------------------------------------角色组数据元一键(取消)授权 end---------------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |