Browse Source

标准模块流程调试

lingfeng 9 years ago
parent
commit
a05d9a589e

+ 12 - 12
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/adapter/AdapterDict.java

@ -32,33 +32,33 @@ public class AdapterDict {
        return adapterDictModel != null;
    }
    public String getStdDictEntryCodeByValue(String adapterEntryValue) {
    public String getEhrDictEntryCodeByValue(String esbDictEntryValue) {
        Map<String,String> condition = new HashMap<String,String>();
        condition.put("adapterDictId", StringUtil.toString(adapterDictModel.getId()));
        condition.put("adapterEntryValue", adapterEntryValue);
        condition.put("stdDictId", StringUtil.toString(adapterDictModel.getStdDictId()));
        condition.put("stdEntryValue", esbDictEntryValue);
        JSONObject jsonpObject = JSONObject.fromObject(condition);
        AdapterDictEntryService adapterDictEntryService = SpringBeanUtil.getService(AdapterDictEntryService.BEAN_ID);
        List<AdapterDictEntryModel> adapterDictEntryModelList = adapterDictEntryService.getList(AdapterDictEntryModel.class, adapterVersion.getDictEntryTableName(), jsonpObject.toString(), null, null, null, null);
        if (!CollectionUtil.isEmpty(adapterDictEntryModelList)) {
            String stdDictEntryCode = adapterDictEntryModelList.get(0).getStdEntryCode();
            if (!StringUtil.isEmpty(stdDictEntryCode)) {
                return stdDictEntryCode;
            String ehrDictEntryCode = adapterDictEntryModelList.get(0).getAdapterEntryCode();
            if (!StringUtil.isEmpty(ehrDictEntryCode)) {
                return ehrDictEntryCode;
            }
        }
        return new String(INVALID_ADAPTER_DICT);
    }
    public String getStdDictEntryCodeByCode(String adapterEntryCode) {
    public String getEhrDictEntryCodeByCode(String esbDictEntryCode) {
        Map<String,String> condition = new HashMap<String,String>();
        condition.put("adapterDictId", StringUtil.toString(adapterDictModel.getId()));
        condition.put("adapterEntryCode", adapterEntryCode);
        condition.put("stdDictId", StringUtil.toString(adapterDictModel.getStdDictId()));
        condition.put("stdEntryCode", esbDictEntryCode);
        JSONObject jsonpObject = JSONObject.fromObject(condition);
        AdapterDictEntryService adapterDictEntryService = SpringBeanUtil.getService(AdapterDictEntryService.BEAN_ID);
        List<AdapterDictEntryModel> adapterDictEntryModelList = adapterDictEntryService.getList(AdapterDictEntryModel.class, adapterVersion.getDictEntryTableName(), jsonpObject.toString(), null, null, null, null);
        if (!CollectionUtil.isEmpty(adapterDictEntryModelList)) {
            String stdDictEntryCode = adapterDictEntryModelList.get(0).getStdEntryCode();
            if (!StringUtil.isEmpty(stdDictEntryCode)) {
                return stdDictEntryCode;
            String ehrDictEntryCode = adapterDictEntryModelList.get(0).getAdapterEntryCode();
            if (!StringUtil.isEmpty(ehrDictEntryCode)) {
                return ehrDictEntryCode;
            }
        }
        return new String(INVALID_ADAPTER_DICT);

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/DataCollectDispatcher.java

@ -224,7 +224,7 @@ public class DataCollectDispatcher {
                AdapterMetadataModel adapterMetadataModel = adapterMetaData.getAdapterMetadataModel();
                String orgMetaDataCode = adapterMetadataModel.getAdapterMetadataCode();
                String stdMetaDataCode = adapterMetadataModel.getStdMetadataCode();
                jsonNode.put(stdMetaDataCode, dataNode.path(orgMetaDataCode).asText());
                jsonNode.put(orgMetaDataCode, dataNode.path(stdMetaDataCode).asText());
            }
            result.add(jsonNode);
        }

+ 7 - 7
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/DataSetTransformer.java

@ -115,26 +115,26 @@ public class DataSetTransformer {
    /**
     * @param adapterDataSet 数据集编码
     * @param code        数据元编码
     * @param data        数据
     * @param esbData        数据
     * @return String 标准值
     * @modify 2015.09.16 airhead 增加值与编码转换
     */
    public String transferElem(AdapterDataSet adapterDataSet, String code, String data) {
    public String transferElem(AdapterDataSet adapterDataSet, String code, String esbData) {
        Map<String, AdapterMetaData> adapterMetaDataMap = adapterDataSet.getAdapterMetaDataMap();
        AdapterMetaData adapterMetaData = adapterMetaDataMap.get(code);
        AdapterDict adapterDict = adapterMetaData.getAdapterDict();
        if (adapterDict == null) {
            return data;
            return esbData;
        }
        String stdData = null;
        String ehrData = null;
        DictDataType adapterDictDataType = adapterMetaData.getAdapterDictDataType();
        if (adapterDictDataType == DictDataType.VALUE) {
            stdData = adapterDict.getStdDictEntryCodeByValue(data);
            ehrData = adapterDict.getEhrDictEntryCodeByValue(esbData);
        } else if (adapterDictDataType == DictDataType.CODE) {
            stdData = adapterDict.getStdDictEntryCodeByCode(data);
            ehrData = adapterDict.getEhrDictEntryCodeByCode(esbData);
        }
        return stdData;
        return ehrData;
    }
    /**

+ 0 - 2
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/AdapterController.java

@ -153,8 +153,6 @@ public class AdapterController extends BaseController {
    @RequestMapping(value = "/getVersions")
    @ApiOperation(value = "获取标准版本列表", response = DictionaryResult.class, produces = "application/json", notes = "获取标准版本列表")
    public DictionaryResult getVersionList(
            @ApiParam(name = "apiVersion", value = "API版本号", defaultValue = "v1.0")
            @PathVariable(value = "apiVersion") String apiVersion,
            @ApiParam(name = "standardId", value = "标准ID")
            @RequestParam(value = "standardId") Integer standardId,
            @ApiParam(name = "condition", value = "Must be Json")

+ 3 - 3
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/StdDictController.java

@ -100,8 +100,8 @@ public class StdDictController extends BaseController {
    }
    @RequestMapping(value="/getDictCodeValues")
    @ApiOperation(value = "获取字典下拉框信息", response = String.class, produces = "application/json", notes = "获取字典下拉框信息")
    public String getSelectList(
    @ApiOperation(value = "获取字典下拉框信息", response = Result.class, produces = "application/json", notes = "获取字典下拉框信息")
    public Result getSelectList(
            @ApiParam(name = "stdVersion", value = "标准版本号")
            @RequestParam(value = "stdVersion") String stdVersion,
            @ApiParam(name = "q", value = "数据集名称或编码", required = false)
@ -127,6 +127,6 @@ public class StdDictController extends BaseController {
        List<Select2> detailModelList = stdDictService.getDictSelectList(dictList);
        Result result = getResult(detailModelList, detailModelList.size(), 1, rows);
        return result.toJson();
        return result;
    }
}

+ 3 - 3
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/StdMetadataController.java

@ -114,8 +114,8 @@ public class StdMetadataController extends BaseController {
    }
    @RequestMapping(value="/getMetadataCodeValues")
    @ApiOperation(value = "获取数据元下拉框信息", response = String.class, produces = "application/json", notes = "获取机构数据元下拉框信息")
    public String getSelectList(
    @ApiOperation(value = "获取数据元下拉框信息", response = Result.class, produces = "application/json", notes = "获取机构数据元下拉框信息")
    public Result getSelectList(
            @ApiParam(name = "stdVersion", value = "标准版本号")
            @RequestParam(value = "stdVersion") String stdVersion,
            @ApiParam(name = "datasetId", value = "数据集ID")
@ -143,7 +143,7 @@ public class StdMetadataController extends BaseController {
        List<StdMetaDataModel> metadataList = stdMetadataService.getMetadataList(StdMetaDataModel.class, stdVersion, datasetId, jsonpObject.toString(), order, rows, 0);
        List<Select2> detailModelList = stdMetadataService.getMetadataSelectList(metadataList);
        Result result = getResult(detailModelList, detailModelList.size(), 1, rows);
        return result.toJson();
        return result;
    }
    /**

+ 30 - 36
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdPublisherService.java

@ -9,10 +9,16 @@ import com.yihu.ehr.framework.util.operator.CollectionUtil;
import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.system.model.SystemOrganization;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -41,51 +47,39 @@ public class StdPublisherService extends SQLGeneralDAO {
    }
    private List<SystemOrganization> getList(Map<String, String> query, Map<String, String> order, Integer limit, Integer offset) {
        SqlCreator sqlCreator = new SqlCreator(SystemOrganization.class);
        for (String key : query.keySet()) {
            sqlCreator.equalCondition(key, query.get(key));
        }
        for (String key : order.keySet()) {
            sqlCreator.order(key, order.get(key));
        Session session = getCurrentSession();
        Criteria criteria = session.createCriteria(SystemOrganization.class);
        if (query != null) {
            for (String key : query.keySet()) {
                criteria.add(Restrictions.eq(key, query.get(key)));
            }
        }
        String sql = sqlCreator.selectData("system_organization");
        Query sessionQuery = getQuery(sqlCreator, sql);
        if (limit != null) {
            sessionQuery.setMaxResults(limit);
            criteria.setMaxResults(limit);
            if (offset != null) {
                sessionQuery.setFirstResult((offset - 1) * limit);
                criteria.setFirstResult((offset - 1) * limit);
            }
        }
        return (List<SystemOrganization>) sessionQuery.list();
    }
    public SystemOrganization get(Integer stdPublisherId) {
        try {
            SqlCreator sqlCreator = new SqlCreator(SystemOrganization.class);
            sqlCreator.equalCondition("id", stdPublisherId);
            String sql = sqlCreator.selectData("system_organization");
            Query query = getQuery(sqlCreator, sql);
            return (SystemOrganization) query.uniqueResult();
        } catch (Exception e) {
            throw new ApiException(ErrorCode.GetPublisherFailed);
        if (order != null) {
            for (String key : order.keySet()) {
                if (order.get(key).equals(Constants.ASC)) {
                    criteria.addOrder(Order.asc(key));
                } else if (order.get(key).equals(Constants.DESC)) {
                    criteria.addOrder(Order.desc(key));
                }
            }
        }
        List<SystemOrganization> systemOrganizationList = criteria.list();
        return systemOrganizationList;
    }
    public SystemOrganization getStandardPublisher() {
    public SystemOrganization get(Integer stdPublisherId) {
        try {
            SqlCreator sqlCreator = new SqlCreator(SystemOrganization.class);
            String paramSql = "select s.org_id from system_param s where s.param_key = '"+ Constants.STANDARD+"'";
            Query paramQuery = getCurrentSession().createSQLQuery(paramSql);
            List list = paramQuery.list();
            String publisherCode = StringUtil.toString(list.get(0));
            sqlCreator.equalCondition("code", publisherCode);
            String sql = sqlCreator.selectData("system_organization");
            Query query = getQuery(sqlCreator, sql);
            return (SystemOrganization) query.uniqueResult();
            Session session = getCurrentSession();
            Criteria criteria = session.createCriteria(SystemOrganization.class);
            criteria.add(Restrictions.eq("id", stdPublisherId));
            return (SystemOrganization) criteria.uniqueResult();
        } catch (Exception e) {
            throw new ApiException(ErrorCode.GetPublisherFailed);
        }

+ 11 - 11
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/adapterplan/adapterDetail.jsp

@ -12,7 +12,7 @@
  <div class="m-form-group">
    <label><span class="red">*&nbsp;</span>适配方案名称:</label>
    <div class="l-text-wrapper m-form-control ">
      <input type="text" class="required f-w240 " id="txt_name" name="name">
      <input type="text" class="required f-w240 " id="txt_name" name="name" data-attr-scan="name">
    </div>
  </div>
  <div class="m-form-group">
@ -25,32 +25,32 @@
  <div class="m-form-group" id="div_stdId">
    <label><span class="red">*&nbsp;</span>平台标准名称:</label>
    <div class="l-text-wrapper m-form-control  div-">
      <input type="text" class="required f-w240 " id="sel_stdId" data-type="select" name="stdId">
      <input type="text" class="required f-w240 " id="sel_stdId" data-type="select" name="stdId" data-attr-scan="stdId">
    </div>
  </div>
  <div class="m-form-group" id="div_stdVersion">
    <label><span class="red">*&nbsp;</span>平台标准版本:</label>
    <div class="l-text-wrapper m-form-control  div-">
      <input type="text" class="required f-w240 " id="sel_stdVersion" data-type="select" name="stdVersion">
      <input type="text" class="required f-w240 " id="sel_stdVersion" data-type="select" name="stdVersion" data-attr-scan="stdVersion" >
    </div>
  </div>
  <hr/>
  <div class="m-form-group" id="div_adapterPublisherOrgCode">
    <label><span class="red">*&nbsp;</span>发布机构名称:</label>
    <div class="l-text-wrapper m-form-control  div-">
      <input type="text" class="required f-w240 " id="sel_publisherOrgCode" data-type="select" name="adapterPublisherOrgCode">
      <input type="text" class="required f-w240 " id="sel_publisherOrgCode" data-type="select" name="adapterPublisherOrgCode" data-attr-scan="adapterPublisherOrgCode">
    </div>
  </div>
  <div class="m-form-group" id="div_adapterStdId">
    <label><span class="red">*&nbsp;</span>应用标准名称:</label>
    <div class="l-text-wrapper m-form-control  div-">
      <input type="text" class="required f-w240 " id="sel_adapterStdId" data-type="select" name="adapterStdId">
      <input type="text" class="required f-w240 " id="sel_adapterStdId" data-type="select" name="adapterStdId" data-attr-scan="adapterStdId">
    </div>
  </div>
  <div class="m-form-group" id="div_adapterStdVersion">
    <label><span class="red">*&nbsp;</span>应用标准版本:</label>
    <div class="l-text-wrapper m-form-control  div-">
      <input type="text" class="required f-w240 " id="sel_adapterStdVersion" data-type="select" name="adapterStdVersion">
      <input type="text" class="required f-w240 " id="sel_adapterStdVersion" data-type="select" name="adapterStdVersion" data-attr-scan="adapterStdVersion">
    </div>
  </div>
  <div class="m-form-bottom">
@ -61,11 +61,11 @@
      <span>确认</span>
    </div>
  </div>
  <input type="hidden" id="type" name="type"/>
  <input type="hidden" id="parent_id" name="parentId"/>
  <input type="hidden" id="status" name="status"/>
  <input type="hidden" id="id" name="id"/>
  <input type="hidden" id="type" name="type" data-attr-scan="type"/>
  <input type="hidden" id="parent_id" name="parentId" data-attr-scan="parentId"/>
  <input type="hidden" id="status" name="status" data-attr-scan="status"/>
  <input type="hidden" id="id" name="id" data-attr-scan="id"/>
  <input type="hidden" id="hd_url" value="${contextRoot}"/>
  <input type="hidden" id="hd_user" value="${User.id}"/>
  <input type="hidden" id="adapterStdVersion"/>
  <input type="hidden" id="adapterStdVersion" data-attr-scan="adapterStdVersion"/>
</div>

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/adapterplan/configurationJs.jsp

@ -1064,7 +1064,7 @@
              dataType : "json",
              url: url,
              processResults: function (data, page) {
                
                debugger
                if(targer=="adapterDatasetCode" || targer=="adapterMetadataCode"
                        || targer=="adapterDictCode" || targer=="adapterEntryCode" || targer=="stdEntryCode"){//由于机构适配值的数据格式为id:id+“,”+code,text:name,但是机构适配值为id:id+","+name,text:code,所以需要重新组装数据
                  var toData;

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dataset/updateDataset.jsp

@ -71,7 +71,7 @@
    </div>
  </div>
  <div class="m-form-group">
    <label>数据源名称:</label>
    <label>数据集名称:</label>
    <div class="l-text-wrapper m-form-control">
      <label type="text" class="f-w240 " id="see_name" style="text-align: left;"/>
    </div>