|
@ -1,570 +0,0 @@
|
|
|
package com.yihu.ehr.resource.service.impl;
|
|
|
|
|
|
import com.yihu.ehr.framework.model.ActionResult;
|
|
|
import com.yihu.ehr.framework.model.DataGridResult;
|
|
|
import com.yihu.ehr.framework.model.Result;
|
|
|
import com.yihu.ehr.framework.model.TreeResult;
|
|
|
import com.yihu.ehr.framework.util.PKUtil;
|
|
|
import com.yihu.ehr.resource.dao.*;
|
|
|
import com.yihu.ehr.resource.model.*;
|
|
|
import com.yihu.ehr.resource.service.IRsResourceService;
|
|
|
import com.yihu.ehr.resource.viewresult.ResourceAuthorizeDGModel;
|
|
|
import com.yihu.ehr.resource.viewresult.RsResourceDeatilModel;
|
|
|
import com.yihu.ehr.resource.viewresult.RsResourceDimensionModel;
|
|
|
import com.yihu.ehr.std.service.BaseHttpService;
|
|
|
import com.yihu.ehr.std.service.intf.IStdService;
|
|
|
import com.yihu.ehr.system.dao.intf.IAppDao;
|
|
|
import com.yihu.ehr.system.model.SystemApp;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@Service("resourceService")
|
|
|
public class RsResourceServiceImpl extends BaseHttpService implements IRsResourceService {
|
|
|
@Resource(name = "rsResourceCategoryDao")
|
|
|
private IRsResourceCategoryDao rsResourceCategoryDao;
|
|
|
@Resource(name = "rsResourceDao")
|
|
|
private IRsResourceDao rsResourceDao;
|
|
|
@Resource(name = "resourceDatasetDao")
|
|
|
private IRsResourceDatasetDao resourceDatasetDao;
|
|
|
@Resource(name = "resourceMetadataDao")
|
|
|
private IRsResourceMetadataDao resourceMetadataDao;
|
|
|
@Resource(name = "appDao")
|
|
|
private IAppDao appDao;
|
|
|
@Resource(name = "rsAppResourceDao")
|
|
|
private IRsAppResourceDao appResourceDao;
|
|
|
@Resource(name = "rsAppResourceDetailDao")
|
|
|
private IRsAppResourceDetailDao rsAppResourceDetailDao;
|
|
|
@Resource(name = "resourceDimensionDao")
|
|
|
private IRsResourceDimensionDao resourceDimensionDao;
|
|
|
|
|
|
@Autowired
|
|
|
private IStdService stdService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public List<TreeResult> getResourceTreeList() throws Exception {
|
|
|
List<TreeResult> treeVOs = new ArrayList<TreeResult>();
|
|
|
|
|
|
List<RsResourceCategory> rsCategorya = rsResourceCategoryDao.getAllRsResourceCategory();
|
|
|
for (RsResourceCategory r : rsCategorya) {
|
|
|
TreeResult treeVO = new TreeResult();
|
|
|
treeVO.setId(r.getId());
|
|
|
treeVO.setPid(r.getPid());
|
|
|
treeVO.setText(r.getName());
|
|
|
treeVO.setType("1");
|
|
|
treeVOs.add(treeVO);
|
|
|
}
|
|
|
return treeVOs;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<TreeResult> resourceCategoryTreeList() throws Exception {
|
|
|
List<TreeResult> treeVOs = new ArrayList<TreeResult>();
|
|
|
List<RsResourceCategory> rsCategorya = rsResourceCategoryDao.getAllRsResourceCategory();
|
|
|
for (RsResourceCategory r : rsCategorya) {
|
|
|
TreeResult treeVO = new TreeResult();
|
|
|
treeVO.setId(r.getId());
|
|
|
treeVO.setPid(r.getPid());
|
|
|
treeVO.setText(r.getName());
|
|
|
treeVO.setType("1");
|
|
|
treeVO.setIcon("../develop/lib/ligerui/skins/Aqua/images/tree/folder.gif");
|
|
|
treeVOs.add(treeVO);
|
|
|
}
|
|
|
List<RsResource> rsResources = rsResourceDao.getAllRsResource();
|
|
|
for (RsResource r : rsResources) {
|
|
|
TreeResult treeVO = new TreeResult();
|
|
|
treeVO.setId(r.getId());
|
|
|
treeVO.setPid(r.getCategory());
|
|
|
treeVO.setText(r.getName());
|
|
|
treeVO.setType("2");
|
|
|
treeVO.setIcon("../develop/lib/ligerui/skins/Aqua/images/tree/tree-leaf.gif");
|
|
|
treeVOs.add(treeVO);
|
|
|
}
|
|
|
return treeVOs;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public DataGridResult getResourceList(Map<String, Object> conditionMap, Integer page, Integer rows) throws Exception {
|
|
|
|
|
|
return rsResourceDao.getResourceList(conditionMap, page, rows);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public int getResourceListCount(Map<String, Object> conditionMap) throws Exception {
|
|
|
return rsResourceDao.getResourceListCount(conditionMap);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public RsResourceDeatilModel getRsResourceDeatilModel(String id) throws Exception {
|
|
|
RsResourceDeatilModel rsResourceDeatilModel = new RsResourceDeatilModel();
|
|
|
RsResource rsResource = rsResourceDao.getResourceById(id);
|
|
|
BeanUtils.copyProperties(rsResource, rsResourceDeatilModel);
|
|
|
return rsResourceDeatilModel;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public void updateRsResource(RsResource rs) throws Exception {
|
|
|
RsResource rsResourceEntrty = rsResourceDao.getResourceById(rs.getId());
|
|
|
rsResourceEntrty.setCategory(rs.getCategory());
|
|
|
rsResourceEntrty.setServiceRate(rs.getServiceRate());
|
|
|
rsResourceEntrty.setName(rs.getName());
|
|
|
rsResourceEntrty.setCode(rs.getCode());
|
|
|
rsResourceEntrty.setType(rs.getType());
|
|
|
rsResourceEntrty.setDataSupportType(rs.getDataSupportType());
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public void createRsResource(RsResource rs) throws Exception {
|
|
|
rsResourceDao.saveEntity(rs);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public void deleteResource(String id) throws Exception {
|
|
|
RsResource rs = rsResourceDao.getResourceById(id);
|
|
|
String dataSetCode = rs.getDatasetCode();
|
|
|
//删除资源
|
|
|
rsResourceDao.deleteEntity(rs);
|
|
|
//删除资源对应的数据集和数据源
|
|
|
if (!StringUtils.isEmpty(dataSetCode)) {
|
|
|
resourceDatasetDao.deleteEntity(resourceDatasetDao.getEntity(RsResourceDataset.class, dataSetCode));
|
|
|
resourceMetadataDao.deleteMetadatasByDataSetCode(dataSetCode);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public DataGridResult getResourceFiled(Map<String, Object> conditionMap, Integer page, Integer rows) throws Exception {
|
|
|
RsResource rs = rsResourceDao.getEntity(RsResource.class, (String) conditionMap.get("resourceId"));
|
|
|
conditionMap.put("datasetId", rs.getDatasetCode());
|
|
|
conditionMap.put("resourceId", rs.getId());
|
|
|
return rsResourceDao.getResourceFiled(conditionMap, page, rows);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String searchRomoteResourceList(String url, Map<String, Object> params) throws Exception {
|
|
|
String result = super.doGetByResourceCode(url, params);
|
|
|
JSONObject jsonobject = JSONObject.fromObject(result);
|
|
|
String response_params = (String) jsonobject.get("responseParams");
|
|
|
return response_params;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getDataSet(Map<String, Object> params) throws Exception {
|
|
|
DataGridResult re = new DataGridResult();
|
|
|
if (StringUtils.isEmpty(params.get("datasetId"))) {
|
|
|
re.setDetailModelList(net.sf.json.JSONArray.fromObject(stdService.datasetsAllVersionList()));
|
|
|
} else {
|
|
|
RsResourceDataset rd = resourceDatasetDao.getEntity(RsResourceDataset.class, (String) params.get("datasetId"));
|
|
|
List list = new ArrayList();
|
|
|
JSONObject jo = JSONObject.fromObject(rd);
|
|
|
jo.put("checked", "true");
|
|
|
list.add(jo);
|
|
|
re.setDetailModelList(list);
|
|
|
}
|
|
|
return re;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result improtAllMetadata(RsResourceDataset dataset, String reourceId) throws Exception {
|
|
|
RsResource resource = rsResourceDao.getResourceById(reourceId);
|
|
|
String dataSetId = null;
|
|
|
if (StringUtils.isEmpty(resource.getDatasetCode())) {
|
|
|
//第一次
|
|
|
dataSetId = PKUtil.getUuid();
|
|
|
//更新资源
|
|
|
resource.setDatasetCode(dataSetId);
|
|
|
dataset.setId(dataSetId);
|
|
|
resourceDatasetDao.saveEntity(dataset);
|
|
|
} else {
|
|
|
dataSetId = resource.getDatasetCode();
|
|
|
resourceMetadataDao.deleteLogicDataSupportMetaDataByLocalDataSetId(dataSetId);
|
|
|
}
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
params.put("code", dataset.getCode());
|
|
|
|
|
|
Map<String, Object> paramsTemp = new HashMap<String, Object>();
|
|
|
paramsTemp.put("condition", JSONObject.fromObject(params).toString());
|
|
|
|
|
|
String responseParasm = stdService.metadatasAllVersionList(paramsTemp);
|
|
|
JSONArray array = JSONArray.fromObject(responseParasm);
|
|
|
if (array.size() == 0) {
|
|
|
throw new Exception("该数据集没有数据元");
|
|
|
}
|
|
|
//保存数据集
|
|
|
//保存数据元
|
|
|
for (int i = 0; i < array.size(); i++) {
|
|
|
JSONObject jsonObject = array.getJSONObject(i);
|
|
|
RsResourceMetadata rsResourceMetadata = new RsResourceMetadata();
|
|
|
rsResourceMetadata.setDatasetId(dataSetId);
|
|
|
rsResourceMetadata.setCode((String) jsonObject.get("code"));
|
|
|
rsResourceMetadata.setDeCode((String) jsonObject.get("deCode"));
|
|
|
rsResourceMetadata.setResourceId(reourceId);
|
|
|
rsResourceMetadata.setName((String) jsonObject.get("name"));
|
|
|
rsResourceMetadata.setType((String) jsonObject.get("type"));
|
|
|
rsResourceMetadata.setFormat((String) jsonObject.get("format"));
|
|
|
rsResourceMetadata.setDictId((Integer) jsonObject.get("dictId"));
|
|
|
rsResourceMetadata.setDefinition((String) jsonObject.get("definition"));
|
|
|
rsResourceMetadata.setNullable((Integer) jsonObject.get("nullable"));
|
|
|
rsResourceMetadata.setColumnLength((String) jsonObject.get("columnLength"));
|
|
|
rsResourceMetadata.setColumnType((String) jsonObject.get("columnType"));
|
|
|
rsResourceMetadata.setColumnName((String) jsonObject.get("columnName"));
|
|
|
rsResourceMetadata.setPrimaryKey((Integer) jsonObject.get("primaryKey"));
|
|
|
rsResourceMetadata.setDataSupportType(1);
|
|
|
resourceMetadataDao.saveEntity(rsResourceMetadata);
|
|
|
}
|
|
|
|
|
|
return Result.success("导入成功");
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result deleteMetadata(String id) throws Exception {
|
|
|
resourceMetadataDao.deleteEntity(resourceMetadataDao.getEntity(RsResourceMetadata.class, id));
|
|
|
return Result.success("删除成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public RsResourceMetadata getRsResourceMetadata(String id) throws Exception {
|
|
|
return resourceMetadataDao.getEntity(RsResourceMetadata.class, id);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result createMetaData(RsResourceMetadata rmd) throws Exception {
|
|
|
RsResourceMetadata rmdTemp = resourceMetadataDao.getMetadataByCodeAndResourceId(rmd.getCode(), rmd.getResourceId());
|
|
|
if (rmdTemp != null) {
|
|
|
return Result.error("字段代码已经存在");
|
|
|
}
|
|
|
resourceMetadataDao.saveEntity(rmd);
|
|
|
return Result.success("保存成功");
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result updateMetaData(RsResourceMetadata rmd) throws Exception {
|
|
|
RsResourceMetadata rmdTemp = resourceMetadataDao.getMetadataByCodeAndResourceIdWithOutId(rmd.getCode(), rmd.getResourceId(),rmd.getId());
|
|
|
if (rmdTemp != null) {
|
|
|
return Result.error("字段代码已经存在");
|
|
|
}
|
|
|
rmdTemp = resourceMetadataDao.getEntity(RsResourceMetadata.class, rmd.getId());
|
|
|
rmdTemp.setColumnName(rmd.getColumnName());
|
|
|
rmdTemp.setColumnType(rmd.getColumnType());
|
|
|
rmdTemp.setColumnLength(rmd.getColumnLength());
|
|
|
rmdTemp.setNullable(rmd.getNullable());
|
|
|
rmdTemp.setCode(rmd.getCode());
|
|
|
rmdTemp.setPrimaryKey(rmd.getPrimaryKey());
|
|
|
rmdTemp.setDefinition(rmd.getDefinition());
|
|
|
rmdTemp.setDataSupportType(rmd.getDataSupportType());
|
|
|
rmdTemp.setLogicDataSource(rmd.getLogicDataSource());
|
|
|
return Result.success("更新成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getMetaDataByDatasetId(String code, String datasetId) throws Exception {
|
|
|
if (StringUtils.isEmpty(code)) {
|
|
|
return new DataGridResult();
|
|
|
}
|
|
|
DataGridResult r = new DataGridResult();
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
params.put("code", code);
|
|
|
|
|
|
Map<String, Object> paramsTemp = new HashMap<String, Object>();
|
|
|
paramsTemp.put("condition", JSONObject.fromObject(params).toString());
|
|
|
//得到所有的数据元
|
|
|
String responseParasm = stdService.metadatasAllVersionList(paramsTemp);
|
|
|
JSONArray jr = JSONArray.fromObject(responseParasm);
|
|
|
if (!StringUtils.isEmpty(datasetId)) {
|
|
|
List<RsResourceMetadata> md = resourceMetadataDao.getMetadataByLocalDatssetId(datasetId);
|
|
|
for (int i = 0; i < JSONArray.fromObject(responseParasm).size(); i++) {
|
|
|
for (int j = 0; j < md.size(); j++) {
|
|
|
if (JSONArray.fromObject(responseParasm).getJSONObject(i).get("code").equals(md.get(j).getCode())) {
|
|
|
jr.getJSONObject(i).put("checked", "true");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
r.setDetailModelList(jr);
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result improtSameMetadata(String reourceId, String metaData, String dataset, String datasetId) throws Exception {
|
|
|
RsResource resource = rsResourceDao.getResourceById(reourceId);
|
|
|
if (StringUtils.isEmpty(datasetId)) {
|
|
|
//第一次导入
|
|
|
String datasetID = PKUtil.getUuid();//得到ID
|
|
|
RsResourceDataset rsResourceDataset = new RsResourceDataset();
|
|
|
org.apache.commons.beanutils.BeanUtils.populate(rsResourceDataset, JSONObject.fromObject(dataset));
|
|
|
rsResourceDataset.setId(datasetID);
|
|
|
resourceDatasetDao.saveEntity(rsResourceDataset);
|
|
|
JSONArray array = JSONArray.fromObject(metaData);
|
|
|
if (array.size() == 0) {
|
|
|
throw new Exception("该数据集没有数据元");
|
|
|
}
|
|
|
for (int i = 0; i < array.size(); i++) {
|
|
|
JSONObject jsonObject = array.getJSONObject(i);
|
|
|
RsResourceMetadata rsResourceMetadata = new RsResourceMetadata();
|
|
|
org.apache.commons.beanutils.BeanUtils.populate(rsResourceMetadata, jsonObject);
|
|
|
rsResourceMetadata.setDataSupportType(1);
|
|
|
rsResourceMetadata.setDatasetId(datasetID);
|
|
|
rsResourceMetadata.setResourceId(reourceId);
|
|
|
resourceMetadataDao.saveEntity(rsResourceMetadata);
|
|
|
}
|
|
|
resource.setDatasetCode(datasetID);
|
|
|
} else {
|
|
|
//修改
|
|
|
resourceMetadataDao.deleteLogicDataSupportMetaDataByLocalDataSetId(datasetId);
|
|
|
JSONArray array = JSONArray.fromObject(metaData);
|
|
|
for (int i = 0; i < array.size(); i++) {
|
|
|
JSONObject jsonObject = array.getJSONObject(i);
|
|
|
RsResourceMetadata rsResourceMetadata = new RsResourceMetadata();
|
|
|
org.apache.commons.beanutils.BeanUtils.populate(rsResourceMetadata, jsonObject);
|
|
|
rsResourceMetadata.setDataSupportType(1);
|
|
|
rsResourceMetadata.setResourceId(reourceId);
|
|
|
rsResourceMetadata.setDatasetId(resource.getDatasetCode());
|
|
|
resourceMetadataDao.saveEntity(rsResourceMetadata);
|
|
|
}
|
|
|
}
|
|
|
return Result.success("导入成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public RsResourceDataset getLocalDataSetById(String datasetId) throws Exception {
|
|
|
return resourceDatasetDao.getEntity(RsResourceDataset.class, datasetId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getMetadataByLocalDatssetId(String datasetId) throws Exception {
|
|
|
ActionResult ar = new ActionResult();
|
|
|
ar.setData(resourceMetadataDao.getMetadataByLocalDatssetId(datasetId));
|
|
|
return ar;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getResourceAuthorize(String resourceId, String appId) throws Exception {
|
|
|
DataGridResult dr = new DataGridResult();
|
|
|
//查找该资源所对应的数据元
|
|
|
RsResource rsResource = rsResourceDao.getResourceById(resourceId);
|
|
|
List<RsResourceMetadata> metadatas = resourceMetadataDao.getMetadataByResourceId(rsResource.getId());
|
|
|
//得到所有的细表
|
|
|
RsAppResource rsAppResource = appResourceDao.getAppResourceByResourceIdAndAppId(resourceId, appId);
|
|
|
List<RsAppResourceDetail> rsAppResourceDetails = rsAppResourceDetailDao.getAppResourceDetailByAppResouceId(rsAppResource.getId());
|
|
|
|
|
|
List<ResourceAuthorizeDGModel> rdg = new ArrayList<ResourceAuthorizeDGModel>();
|
|
|
if (rsAppResourceDetails.size() == 0) {
|
|
|
for (int i = 0; i < metadatas.size(); i++) {
|
|
|
ResourceAuthorizeDGModel resourceAuthorizeDGModel = new ResourceAuthorizeDGModel();
|
|
|
resourceAuthorizeDGModel.setMetaDataId(metadatas.get(i).getId());
|
|
|
resourceAuthorizeDGModel.setMetaDataName(metadatas.get(i).getName());
|
|
|
rdg.add(resourceAuthorizeDGModel);
|
|
|
}
|
|
|
} else {
|
|
|
for (int i = 0; i < metadatas.size(); i++) {
|
|
|
for (int j = 0; j < rsAppResourceDetails.size(); j++) {
|
|
|
if (metadatas.get(i).getId().equals(rsAppResourceDetails.get(j).getMetadataId())) {
|
|
|
//允许的
|
|
|
ResourceAuthorizeDGModel resourceAuthorizeDGModel = new ResourceAuthorizeDGModel();
|
|
|
resourceAuthorizeDGModel.setChecked("true");
|
|
|
resourceAuthorizeDGModel.setAppResourceDeatilId(rsAppResourceDetails.get(j).getId());
|
|
|
resourceAuthorizeDGModel.setMetaDataId(metadatas.get(i).getId());
|
|
|
resourceAuthorizeDGModel.setMetaDataName(metadatas.get(i).getName());
|
|
|
if (!StringUtils.isEmpty(rsAppResourceDetails.get(j).getDimensionId())) {
|
|
|
RsDimension rd = resourceDimensionDao.getEntity(RsDimension.class, rsAppResourceDetails.get(j).getDimensionId());
|
|
|
resourceAuthorizeDGModel.setDimensionMessage(rd.getName() + rsAppResourceDetails.get(j).getDimensionValue());
|
|
|
}
|
|
|
rdg.add(resourceAuthorizeDGModel);
|
|
|
break;
|
|
|
} else {
|
|
|
if (j == rsAppResourceDetails.size() - 1) {
|
|
|
ResourceAuthorizeDGModel resourceAuthorizeDGModel = new ResourceAuthorizeDGModel();
|
|
|
resourceAuthorizeDGModel.setMetaDataId(metadatas.get(i).getId());
|
|
|
resourceAuthorizeDGModel.setMetaDataName(metadatas.get(i).getName());
|
|
|
rdg.add(resourceAuthorizeDGModel);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
dr.setDetailModelList(rdg);
|
|
|
return dr;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getMetaData(Map<String, Object> params) throws Exception {
|
|
|
DataGridResult re = new DataGridResult();
|
|
|
RsResourceMetadata rd = resourceMetadataDao.getEntity(RsResourceMetadata.class, (String) params.get("id"));
|
|
|
List rslist = new ArrayList();
|
|
|
rslist.add(rd);
|
|
|
re.setDetailModelList(rslist);
|
|
|
return re;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getResourceApp(String resourceid) throws Exception {
|
|
|
ActionResult returnData = new ActionResult();
|
|
|
Map<String, Object> rsMap = new HashMap<String, Object>();
|
|
|
List<SystemApp> selectApps = new ArrayList<SystemApp>();//已经选中
|
|
|
List<SystemApp> noSelectApps = new ArrayList<SystemApp>();//未选中
|
|
|
|
|
|
List<SystemApp> allApps = appDao.getAllApplist();
|
|
|
List<RsAppResource> selectApp = appResourceDao.getAppResourceByResourceId(resourceid);
|
|
|
if (selectApp != null && selectApp.size() != 0) {
|
|
|
for (int i = 0; i < allApps.size(); i++) {
|
|
|
for (int j = 0; j < selectApp.size(); j++) {
|
|
|
if (allApps.get(i).getId().equals(selectApp.get(j).getAppId())) {
|
|
|
selectApps.add(allApps.get(i));
|
|
|
break;
|
|
|
}
|
|
|
if (j == selectApp.size() - 1) {
|
|
|
noSelectApps.add(allApps.get(i));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
rsMap.put("noSelect", noSelectApps);
|
|
|
rsMap.put("select", selectApps);
|
|
|
} else {
|
|
|
rsMap.put("noSelect", allApps);
|
|
|
rsMap.put("select", null);
|
|
|
}
|
|
|
returnData.setData(rsMap);
|
|
|
return returnData;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result updateResourceApp(String ids, String resourceId) throws Exception {
|
|
|
// appResourceDao.deleteByResourceId(resourceId);
|
|
|
List<RsAppResource> rs = appResourceDao.getAppResourceByResourceId(resourceId);
|
|
|
List<RsAppResource> deleteList = new ArrayList<RsAppResource>();
|
|
|
List<RsAppResource> newList = new ArrayList<RsAppResource>();
|
|
|
String[] appResourceIds = ids.split(",");
|
|
|
//找出需要新增的
|
|
|
for (String appResourceId : appResourceIds) {
|
|
|
if (rs.size() != 0) {
|
|
|
for (int i = 0; i < rs.size(); i++) {
|
|
|
if (rs.get(i).getAppId().equals(appResourceId)) {
|
|
|
break;
|
|
|
}
|
|
|
if (i == (rs.size() - 1)) {
|
|
|
//添加主表
|
|
|
RsAppResource rsAppResource = new RsAppResource();
|
|
|
rsAppResource.setAppId(appResourceId);
|
|
|
rsAppResource.setResourceId(resourceId);
|
|
|
newList.add(rsAppResource);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
//第一次直接新增
|
|
|
RsAppResource rsAppResource = new RsAppResource();
|
|
|
rsAppResource.setAppId(appResourceId);
|
|
|
rsAppResource.setResourceId(resourceId);
|
|
|
newList.add(rsAppResource);
|
|
|
}
|
|
|
}
|
|
|
//找出需要删除的
|
|
|
//遍历原有的
|
|
|
for (int i = 0; i < rs.size(); i++) {
|
|
|
//遍历现在的
|
|
|
for (int j = 0; j < appResourceIds.length; j++) {
|
|
|
if (rs.get(i).getAppId().equals(appResourceIds[j])) {
|
|
|
break;
|
|
|
}
|
|
|
if (appResourceIds.length - 1 == j) {
|
|
|
deleteList.add(rs.get(i));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
appResourceDao.deleteEntityList(deleteList);
|
|
|
appResourceDao.saveEntityList(newList);
|
|
|
|
|
|
return Result.success("更新成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Result getResourceAppList(String resourceId) throws Exception {
|
|
|
DataGridResult dgr = new DataGridResult();
|
|
|
List<RsAppResource> rars = appResourceDao.getAppResourceByResourceId(resourceId);
|
|
|
List modelList = new ArrayList();
|
|
|
for (RsAppResource rar : rars) {
|
|
|
modelList.add(appDao.getEntity(SystemApp.class, rar.getAppId()));
|
|
|
}
|
|
|
dgr.setDetailModelList(modelList);
|
|
|
return dgr;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result changeAppResource(String flag, String appId, String ids, String resourceId) throws Exception {
|
|
|
RsAppResource rar = appResourceDao.getAppResourceByResourceIdAndAppId(resourceId, appId);
|
|
|
switch (flag) {
|
|
|
//全部禁止
|
|
|
case "1": {
|
|
|
rsAppResourceDetailDao.deleteByAppResourceId(rar.getId());
|
|
|
break;
|
|
|
}
|
|
|
//全部允许
|
|
|
case "2": {
|
|
|
List<RsResourceMetadata> rrmd = resourceMetadataDao.getMetadataByResourceId(resourceId);
|
|
|
rsAppResourceDetailDao.deleteByAppResourceId(rar.getId());
|
|
|
for (RsResourceMetadata rRsResourceMetadata : rrmd) {
|
|
|
RsAppResourceDetail appResourceDetail = new RsAppResourceDetail();
|
|
|
appResourceDetail.setAppResouceId(rar.getId());
|
|
|
appResourceDetail.setMetadataId(rRsResourceMetadata.getId());
|
|
|
rsAppResourceDetailDao.saveEntity(appResourceDetail);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
//选中禁止
|
|
|
case "3": {
|
|
|
String[] idArray = ids.split(",");
|
|
|
for (String id : idArray) {
|
|
|
rsAppResourceDetailDao.deleteEntity(rsAppResourceDetailDao.getEntity(RsAppResourceDetail.class, id));
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
//选中允许
|
|
|
case "4": {
|
|
|
String[] idArray = ids.split(",");
|
|
|
for (String id : idArray) {
|
|
|
RsResourceMetadata rrmd = resourceMetadataDao.getEntity(RsResourceMetadata.class, id);
|
|
|
RsAppResourceDetail appResourceDetail = new RsAppResourceDetail();
|
|
|
appResourceDetail.setAppResouceId(rar.getId());
|
|
|
appResourceDetail.setMetadataId(rrmd.getId());
|
|
|
rsAppResourceDetailDao.saveEntity(appResourceDetail);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
return Result.success("修改成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<RsResourceDimensionModel> getDimensionByResourceId(String resourceId) throws Exception {
|
|
|
return resourceDimensionDao.getDimensionByResourceId(resourceId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public RsAppResourceDetail getAppResourceDetailId(String id) throws Exception {
|
|
|
return rsAppResourceDetailDao.getEntity(RsAppResourceDetail.class, id);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public Result saveResourceDimension(RsAppResourceDetail appResourceDetail) throws Exception {
|
|
|
RsAppResourceDetail rsAppResourceDetail = rsAppResourceDetailDao.getEntity(RsAppResourceDetail.class, appResourceDetail.getId());
|
|
|
rsAppResourceDetail.setDimensionValue(appResourceDetail.getDimensionValue());
|
|
|
rsAppResourceDetail.setDimensionId(appResourceDetail.getDimensionId());
|
|
|
return Result.success("保存成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<RsResourceMetadata> getResourceMetadataListColumn(String code) throws Exception {
|
|
|
return resourceMetadataDao.getMetadataByResourceId(code);
|
|
|
}
|
|
|
|
|
|
}
|