Jelajahi Sumber

Merge branch 'master' of chenyj/cyj into master

esb 9 tahun lalu
induk
melakukan
fa0a6d9795

+ 11 - 0
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/sql/SqlCreator.java

@ -104,6 +104,17 @@ public class SqlCreator {
        return selectData();
    }
    public String selectSingleData(String tabelName) {
        setTableName(tabelName);
        itemList.clear();
        for(Object key : transformer.columnToProperty.keySet()){
            itemList.add(StringUtil.toString(key));
        }
        return selectData();
    }
    public String selectData() {
        StringBuilder sqlBuffer = new StringBuilder();

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsResourceController.java

@ -663,7 +663,7 @@ public class RsResourceController extends BaseController {
    public Result getMetaDataByDatasetId(HttpServletRequest request) {
        try {
            String datasetCode = request.getParameter("datasetCode");
            String datasetId = request.getParameter("datasetId");
                String datasetId = request.getParameter("datasetId");
            return resourceService.getMetaDataByDatasetId(datasetCode, datasetId);
        } catch (Exception e) {
            e.printStackTrace();

+ 22 - 7
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDatasetService.java

@ -14,16 +14,17 @@ import com.yihu.ehr.framework.util.sql.BeanTransformer;
import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.Select2;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
import com.yihu.ehr.standard.model.standard.*;
import com.yihu.ehr.standard.model.standard.resultModel.StandardParamResultModel;
import com.yihu.ehr.standard.service.bo.StandardVersion;
import jxl.Sheet;
import jxl.Workbook;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -31,6 +32,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -45,6 +47,8 @@ import java.util.*;
public class StdDatasetService extends SQLGeneralDAO {
    public static final String BEAN_ID = "StdDatasetService";
    @Autowired
    StandardService standardService;
    public StdDatasetService() {
    }
@ -339,10 +343,21 @@ public class StdDatasetService extends SQLGeneralDAO {
    }
    public List getAllVersionDatasetList() {
        // 导入的数据集列表应该只取集成标准已发布各版本的并集去重 @modify by yingjie chen
        Criteria criteria = getCurrentSession().createCriteria(StandardModel.class);
        StandardParamResultModel standardParam = standardService.getStandardParam(Constants.STANDARD);
        String code = standardParam.getCode();
        criteria.add(Restrictions.eq("code", code));
        List<StandardModel> standardModelList = criteria.list();
        List<Integer> idList = standardModelList.stream().map(StandardModel::getId).collect(Collectors.toList());
        try {
            String hql = "FROM StandardVersionModel WHERE publishTime is not null order by publishTime";
            Query query = getCurrentSession().createQuery(hql);
            List<StandardVersionModel> versionModelList = query.list();
            List<StandardVersionModel> versionModelList = new ArrayList<>();
            if (!CollectionUtil.isEmpty(idList)) {
                String hql = "FROM StandardVersionModel WHERE publishTime is not null AND standardId IN :idList order by publishTime";
                Query query = getCurrentSession().createQuery(hql);
                query.setParameterList("idList", idList);
                versionModelList = query.list();
            }
            String sql = Constants.EMPTY;
            BeanTransformer transformer = new BeanTransformer(StdDataSetModel.class);
            for (StandardVersionModel versionModel : versionModelList) {

+ 35 - 20
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdMetadataService.java

@ -2,7 +2,6 @@ package com.yihu.ehr.standard.service.standard;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.common.ReflectUtil;
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
import com.yihu.ehr.framework.constrant.Constants;
import com.yihu.ehr.framework.constrant.ErrorCode;
@ -16,20 +15,21 @@ import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.Select2;
import com.yihu.ehr.standard.model.adapter.AdapterMetadataModel;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryEntryModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
import com.yihu.ehr.standard.model.standard.*;
import com.yihu.ehr.standard.model.standard.resultModel.StandardParamResultModel;
import com.yihu.ehr.standard.service.bo.StandardVersion;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 数据元管理接口实现。
@ -43,6 +43,8 @@ import java.util.*;
public class StdMetadataService extends SQLGeneralDAO {
    public static final String BEAN_ID = "StdMetadataService";
    @Autowired
    StandardService standardService;
    public StdMetadataService() {
    }
@ -323,8 +325,9 @@ public class StdMetadataService extends SQLGeneralDAO {
    }
    public List getAllVersionMetadataList(String condition) {
        //数据元列表应该是所选择的数据集列表的数据元并集去重 @modify by yingjie chen
        try {
            Map<Integer, String> versionMap = new HashMap<>();
            List<String>  versionList = new ArrayList<>();
            String sql = Constants.EMPTY;
            ObjectMapper objectMapper = new ObjectMapper();
            String code = Constants.EMPTY;
@ -333,17 +336,26 @@ public class StdMetadataService extends SQLGeneralDAO {
                code = jsonNode.get("code").asText();
            }
            String hql = "FROM StandardVersionModel WHERE publishTime is not null order by publishTime";
            Query query = getCurrentSession().createQuery(hql);
            List<StandardVersionModel> versionModelList = query.list();
            for (StandardVersionModel versionModel : versionModelList) {
                SqlCreator sqlDatasetCreator = new SqlCreator(StdDataSetModel.class);
                StandardVersion version = new StandardVersion(versionModel.getVersion());
                versionMap.put(versionModel.getStandardId(), versionModel.getVersion());
                sqlDatasetCreator.equalCondition("code", code);
                sql = sql + sqlDatasetCreator.selectData(version.getDataSetTableName()) + Constants.UNION;
            Criteria criteria = getCurrentSession().createCriteria(StandardModel.class);
            StandardParamResultModel standardParam = standardService.getStandardParam(Constants.STANDARD);
            String VersionCode = standardParam.getCode();
            criteria.add(Restrictions.eq("code", VersionCode));
            List<StandardModel> standardModelList = criteria.list();
            List<Integer> idList = standardModelList.stream().map(StandardModel::getId).collect(Collectors.toList());
            List<StandardVersionModel> versionModelList;
            if (!CollectionUtil.isEmpty(idList)) {
                String hql = "FROM StandardVersionModel WHERE publishTime is not null AND standardId IN :idList order by publishTime";
                Query query = getCurrentSession().createQuery(hql);
                query.setParameterList("idList", idList);
                versionModelList = query.list();
                for (StandardVersionModel versionModel : versionModelList) {
                    SqlCreator sqlDatasetCreator = new SqlCreator(StdDataSetModel.class);
                    StandardVersion version = new StandardVersion(versionModel.getVersion());
                    versionList.add(versionModel.getVersion());
                    sqlDatasetCreator.equalCondition("code", code);
                    sql = sql + sqlDatasetCreator.selectData(version.getDataSetTableName()) + Constants.UNION;
                }
            }
            BeanTransformer datasetTransformer = new BeanTransformer(StdDataSetModel.class);
            if (!StringUtil.isEmpty(sql)) {
                sql = sql.substring(0, sql.length() - Constants.UNION.length());
@ -354,12 +366,15 @@ public class StdMetadataService extends SQLGeneralDAO {
                sql = Constants.EMPTY;
                Integer count = 1;
                Map<Integer, String> datasetIdMap = new HashMap<>();
                for (StdDataSetModel model : modelList) {
                    SqlCreator sqlMetadataCreator = new SqlCreator(StdMetaDataModel.class);
                    StandardVersion version = new StandardVersion(versionMap.get(model.getstandardId()));
                    datasetIdMap.put(count++, StringUtil.toString(model.getId()));
                    sqlMetadataCreator.equalConditionQue("datasetId", model.getId());
                    sql = sql + sqlMetadataCreator.selectData(version.getMetaDataTableName()) + Constants.UNION;
                    for (String versionKey : versionList) {
                        datasetIdMap.put(count++, StringUtil.toString(model.getId()));
                        StandardVersion version = new StandardVersion(versionKey);
                        sql = sql + sqlMetadataCreator.selectSingleData(version.getMetaDataTableName()) + Constants.UNION;
                    }
                }
                BeanTransformer metadataTransformer = new BeanTransformer(StdMetaDataModel.class);

+ 7 - 2
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/configurationJs.jsp

@ -375,7 +375,7 @@
          this.bindEvents();
        },
        reloadGrid: function (parentId) {
          
          var searchNmEntry = $("#searchNmEntry").val();
          var values = {
@ -449,6 +449,11 @@
          }
          $.ligerDialog.confirm('确认删除所选数据?', function (r) {
            var row = master.grid.getSelectedRow();
            var parentId = "";
            if(row){
              parentId = row.id;
            }
            if(r){
              $.ajax({
                url: '${contextRoot}'+cfg[cfgModel].right.delLs,
@ -458,7 +463,7 @@
                success: function (data) {
                  if(data.successFlg){
                    $.ligerDialog.success( data.message);
                    entryMaster.reloadGrid();
                    entryMaster.reloadGrid(parentId);
                  }else{
                    $.ligerDialog.error(data.message);
                  }

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

@ -163,7 +163,12 @@
              success: function (data) {
                if(data.successFlg){
                  $.ligerDialog.alert(data.message, "提示", "success", function () {
                    parent.entryMaster.reloadGrid();
                    var row = parent.master.grid.getSelectedRow();
                    var parentId = "";
                    if(row){
                      parentId = row.id;
                    }
                    parent.entryMaster.reloadGrid(parentId);
                    parent.entryMaster.entryInfoDialog.close();
                  }, null);
                }else{

+ 6 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dict/updateDictEntryJs.jsp

@ -94,7 +94,12 @@
            
            if(data.successFlg){
              $.ligerDialog.alert(data.message, "提示", "success", function () {
                parent.entryMaster.reloadGrid();
                var row = parent.master.grid.getSelectedRow();
                var parentId = "";
                if(row){
                  parentId = row.id;
                }
                parent.entryMaster.reloadGrid(parentId);
                parent.entryMaster.entryInfoDialog.close();
              }, null);
            }else{