|  | @ -1,5 +1,10 @@
 | 
	
		
			
				|  |  | package com.yihu.hos.resource.service.impl;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.JsonNode;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.node.ArrayNode;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.node.ObjectNode;
 | 
	
		
			
				|  |  | import com.yihu.hos.core.httpclient.HttpHelper;
 | 
	
		
			
				|  |  | import com.yihu.hos.resource.dao.*;
 | 
	
		
			
				|  |  | import com.yihu.hos.resource.model.*;
 | 
	
		
			
				|  |  | import com.yihu.hos.resource.service.IRsResourceService;
 | 
	
	
		
			
				|  | @ -323,20 +328,20 @@ public class RsResourceServiceImpl implements IRsResourceService {
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Override
 | 
	
		
			
				|  |  |     public String searchRomoteResourceList(String code, Map<String, Object> params) throws Exception {
 | 
	
		
			
				|  |  | //        String result = HttpHelper.getByGateway(code, params).getBody();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return ""; //TODO: Use jackson
 | 
	
		
			
				|  |  | //        JSONObject jsonobject = JSONObject.fromObject(result);
 | 
	
		
			
				|  |  | //        Object response_params = jsonobject.get("responseResult");
 | 
	
		
			
				|  |  | //        if (response_params.equals("null")) {
 | 
	
		
			
				|  |  | //            return "";
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | //        return (String) response_params;
 | 
	
		
			
				|  |  |         String result = HttpHelper.getByGateway(code, params).getBody();
 | 
	
		
			
				|  |  |         ObjectMapper mapper = new ObjectMapper();
 | 
	
		
			
				|  |  |         JsonNode jsonobject = mapper.readValue(result,JsonNode.class);
 | 
	
		
			
				|  |  |         Object response_params = jsonobject.get("responseResult");
 | 
	
		
			
				|  |  |         if (response_params.equals("null")) {
 | 
	
		
			
				|  |  |             return "";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return (String) response_params;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Override
 | 
	
		
			
				|  |  |     public Result getDataSet(Map<String, Object> params) throws Exception {
 | 
	
		
			
				|  |  |         DataGridResult re = new DataGridResult();
 | 
	
		
			
				|  |  |         ObjectMapper mapper = new ObjectMapper();
 | 
	
		
			
				|  |  |         if (StringUtils.isEmpty(params.get("datasetId"))) {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (params.get("rsResourceImportDatasetDialogName") != null) {
 | 
	
	
		
			
				|  | @ -351,12 +356,11 @@ public class RsResourceServiceImpl implements IRsResourceService {
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             RsResourceDataset rd = resourceDatasetDao.getEntity(RsResourceDataset.class, (String) params.get("datasetId"));
 | 
	
		
			
				|  |  |             List list = new ArrayList();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //TODO: Use jackson
 | 
	
		
			
				|  |  | //            JSONObject jo = JSONObject.fromObject(rd);
 | 
	
		
			
				|  |  | //            jo.put("checked", "true");
 | 
	
		
			
				|  |  | //            list.add(jo);
 | 
	
		
			
				|  |  | //            re.setDetailModelList(list);
 | 
	
		
			
				|  |  |             String jsonStr = mapper.writeValueAsString(rd);
 | 
	
		
			
				|  |  |             ObjectNode jo = mapper.readValue(jsonStr,ObjectNode.class);
 | 
	
		
			
				|  |  |             jo.put("checked", "true");
 | 
	
		
			
				|  |  |             list.add(jo);
 | 
	
		
			
				|  |  |             re.setDetailModelList(list);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return re;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -381,36 +385,37 @@ public class RsResourceServiceImpl implements IRsResourceService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String, Object> paramsTemp = new HashMap<String, Object>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //TODO: Use jackson
 | 
	
		
			
				|  |  | //        paramsTemp.put("condition", JSONObject.fromObject(params).toString());
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //        List responseParasm = stdService.metadatasAllVersionList(params);
 | 
	
		
			
				|  |  | //        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);
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  |         ObjectMapper mapper = new ObjectMapper();
 | 
	
		
			
				|  |  |         paramsTemp.put("condition",mapper.writeValueAsString(params));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List responseParasm = stdService.metadatasAllVersionList(params);
 | 
	
		
			
				|  |  |         String jsonlist = mapper.writeValueAsString(responseParasm);
 | 
	
		
			
				|  |  |         ArrayNode array = mapper.readValue(jsonlist, ArrayNode.class);
 | 
	
		
			
				|  |  |         if (array.size() == 0) {
 | 
	
		
			
				|  |  |             throw new Exception("该数据集没有数据元");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //保存数据集
 | 
	
		
			
				|  |  |         //保存数据元
 | 
	
		
			
				|  |  |         for (int i = 0; i < array.size(); i++) {
 | 
	
		
			
				|  |  |             JsonNode jsonObject = array.get(i);
 | 
	
		
			
				|  |  |             RsResourceMetadata rsResourceMetadata = new RsResourceMetadata();
 | 
	
		
			
				|  |  |             rsResourceMetadata.setDatasetId(dataSetId);
 | 
	
		
			
				|  |  |             rsResourceMetadata.setCode(jsonObject.get("code").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setDeCode(jsonObject.get("deCode").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setResourceId(reourceId);
 | 
	
		
			
				|  |  |             rsResourceMetadata.setName(jsonObject.get("name").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setType(jsonObject.get("type").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setFormat(jsonObject.get("format").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setDictId( jsonObject.get("dictId").asInt());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setDefinition(jsonObject.get("definition").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setNullable( jsonObject.get("nullable").asInt());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setColumnLength(jsonObject.get("columnLength").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setColumnType(jsonObject.get("columnType").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setColumnName(jsonObject.get("columnName").asText());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setPrimaryKey( jsonObject.get("primaryKey").asInt());
 | 
	
		
			
				|  |  |             rsResourceMetadata.setDataSupportType(1);
 | 
	
		
			
				|  |  |             resourceMetadataDao.saveEntity(rsResourceMetadata);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return Result.success("导入成功");
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -463,23 +468,23 @@ public class RsResourceServiceImpl implements IRsResourceService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         DataGridResult r = new DataGridResult();
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<String, Object>();
 | 
	
		
			
				|  |  |         ObjectMapper mapper = new ObjectMapper();
 | 
	
		
			
				|  |  |         params.put("code", code);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //得到所有的数据元
 | 
	
		
			
				|  |  |         List responseParasm = stdService.metadatasAllVersionList(params);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //TODO: Use jackson
 | 
	
		
			
				|  |  | //        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");
 | 
	
		
			
				|  |  | //                    }
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  |         String jsonlist = mapper.writeValueAsString(responseParasm);
 | 
	
		
			
				|  |  |         ArrayNode jr = mapper.readValue(jsonlist,ArrayNode.class);
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(datasetId)) {
 | 
	
		
			
				|  |  |             List<RsResourceMetadata> md = resourceMetadataDao.getMetadataByLocalDatssetId(datasetId);
 | 
	
		
			
				|  |  |             for (int i = 0; i < jr.size(); i++) {
 | 
	
		
			
				|  |  |                 for (int j = 0; j < md.size(); j++) {
 | 
	
		
			
				|  |  |                     if (jr.get("code").asText().equals(md.get(j).getCode())) {
 | 
	
		
			
				|  |  |                         ((ObjectNode) jr.get(i)).put("checked", "true");
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        r.setDetailModelList(jr);
 | 
	
		
			
				|  |  |         return r;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -487,44 +492,43 @@ public class RsResourceServiceImpl implements IRsResourceService {
 | 
	
		
			
				|  |  |     @Transactional
 | 
	
		
			
				|  |  |     public Result improtSameMetadata(String reourceId, String metaData, String dataset, String datasetId) throws Exception {
 | 
	
		
			
				|  |  |         RsResource resource = rsResourceDao.getResourceById(reourceId);
 | 
	
		
			
				|  |  |         ObjectMapper mapper = new ObjectMapper();
 | 
	
		
			
				|  |  |         if (StringUtils.isEmpty(datasetId)) {
 | 
	
		
			
				|  |  |             //第一次导入
 | 
	
		
			
				|  |  |             String datasetID = PKUtil.getUuid();//得到ID
 | 
	
		
			
				|  |  |             RsResourceDataset rsResourceDataset = new RsResourceDataset();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //TODO: Use jackson
 | 
	
		
			
				|  |  | //            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);
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  |             org.apache.commons.beanutils.BeanUtils.populate(rsResourceDataset, mapper.readValue(dataset, Map.class));
 | 
	
		
			
				|  |  |             rsResourceDataset.setId(datasetID);
 | 
	
		
			
				|  |  |             resourceDatasetDao.saveEntity(rsResourceDataset);
 | 
	
		
			
				|  |  |             ArrayNode array = mapper.readValue(metaData,ArrayNode.class);
 | 
	
		
			
				|  |  |             if (array.size() == 0) {
 | 
	
		
			
				|  |  |                 throw new Exception("该数据集没有数据元");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             for (int i = 0; i < array.size(); i++) {
 | 
	
		
			
				|  |  |                 JsonNode jsonObject = array.get(i);
 | 
	
		
			
				|  |  |                 RsResourceMetadata rsResourceMetadata = new RsResourceMetadata();
 | 
	
		
			
				|  |  |                 org.apache.commons.beanutils.BeanUtils.populate(rsResourceMetadata, mapper.readValue(jsonObject.toString(),Map.class));
 | 
	
		
			
				|  |  |                 rsResourceMetadata.setDataSupportType(1);
 | 
	
		
			
				|  |  |                 rsResourceMetadata.setDatasetId(datasetID);
 | 
	
		
			
				|  |  |                 rsResourceMetadata.setResourceId(reourceId);
 | 
	
		
			
				|  |  |                 resourceMetadataDao.saveEntity(rsResourceMetadata);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             resource.setDatasetCode(datasetID);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             //修改
 | 
	
		
			
				|  |  |             resourceMetadataDao.deleteLogicDataSupportMetaDataByLocalDataSetId(datasetId);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //TODO: Use jackson
 | 
	
		
			
				|  |  | //            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);
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  |             ArrayNode array = mapper.readValue(metaData, ArrayNode.class);
 | 
	
		
			
				|  |  |             for (int i = 0; i < array.size(); i++) {
 | 
	
		
			
				|  |  |                 JsonNode jsonObject = array.get(i);
 | 
	
		
			
				|  |  |                 RsResourceMetadata rsResourceMetadata = new RsResourceMetadata();
 | 
	
		
			
				|  |  |                 org.apache.commons.beanutils.BeanUtils.populate(rsResourceMetadata, mapper.readValue(jsonObject.toString(),Map.class));
 | 
	
		
			
				|  |  |                 rsResourceMetadata.setDataSupportType(1);
 | 
	
		
			
				|  |  |                 rsResourceMetadata.setResourceId(reourceId);
 | 
	
		
			
				|  |  |                 rsResourceMetadata.setDatasetId(resource.getDatasetCode());
 | 
	
		
			
				|  |  |                 resourceMetadataDao.saveEntity(rsResourceMetadata);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return Result.success("导入成功");
 | 
	
		
			
				|  |  |     }
 |