浏览代码

Merge branch 'master' of huangzhanpeng/esb_huangzhanpeng into master

esb 9 年之前
父节点
当前提交
86bf8646b0
共有 30 个文件被更改,包括 236 次插入221 次删除
  1. 19 18
      Hos-Framework/src/main/java/com/yihu/ehr/framework/common/dao/SQLGeneralDAO.java
  2. 1 3
      Hos-Framework/src/main/java/com/yihu/ehr/framework/model/DataGridResult.java
  3. 3 8
      Hos-Framework/src/main/java/com/yihu/ehr/framework/model/Result.java
  4. 0 10
      Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java
  5. 4 3
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/controller/DataPushController.java
  6. 22 2
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/DatacollectDao.java
  7. 13 1
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/DatacollectLogDao.java
  8. 5 0
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/intf/IDatacollectDao.java
  9. 6 0
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/intf/IDatacollectLogDao.java
  10. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectService.java
  11. 64 92
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatapushService.java
  12. 0 5
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/intf/IDatapushService.java
  13. 7 6
      Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsCategoryController.java
  14. 13 6
      Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsDimensionController.java
  15. 4 0
      Hos-resource/src/main/java/com/yihu/ehr/resource/dao/impl/RsResourceDimensionDaoImpl.java
  16. 6 0
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/IStdService.java
  17. 9 0
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/RsResourceRestServiceImpl.java
  18. 23 1
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/StdService.java
  19. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/standard/controller/SchemeDictEntryController.java
  20. 3 3
      Hos-resource/src/main/java/com/yihu/ehr/standard/controller/SchemeMetadataController.java
  21. 4 4
      Hos-resource/src/main/java/com/yihu/ehr/standard/controller/StandardVersionController.java
  22. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterDictEntryService.java
  23. 8 10
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterMetadataService.java
  24. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterSchemeVersionService.java
  25. 11 11
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardVersionService.java
  26. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdCDACatalogService.java
  27. 5 5
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDatasetCatalogService.java
  28. 0 14
      Hos-resource/src/main/resources/redisconfig.properties
  29. 0 13
      Hos-resource/src/main/resources/resource.properties
  30. 1 1
      Hos-resource/src/main/webapp/WEB-INF/web.xml

+ 19 - 18
Hos-Framework/src/main/java/com/yihu/ehr/framework/common/dao/SQLGeneralDAO.java

@ -22,7 +22,6 @@ import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;
import org.springframework.orm.hibernate4.HibernateTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.Serializable;
@ -45,7 +44,6 @@ import java.util.Map;
 * @version 1.0
 * @created 2015.07.09 17:08
 */
@Transactional
@Repository("sqlGeneralDAO")
public class SQLGeneralDAO implements XSQLGeneralDAO {
    @Resource(name = "jdbcTemplate")
@ -87,45 +85,45 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
        return dataGridResult;
    }
    //=========================hibernate start==============================
    public void beginTransaction() {
    public void beginTransaction() throws Exception {
        hibernateTemplate.getSessionFactory().getCurrentSession().getTransaction().begin();
    }
    public void commitTransaction() {
    public void commitTransaction() throws Exception {
        hibernateTemplate.getSessionFactory().getCurrentSession().getTransaction().commit();
    }
    public void saveEntity(Object entity) {
    public void saveEntity(Object entity) throws Exception {
        if (entity == null) return;
        hibernateTemplate.save(entity);
    }
    public void updateEntity(Object entity) {
    public void updateEntity(Object entity) throws Exception {
        if (entity == null) return;
        hibernateTemplate.update(entity);
    }
    public void saveOrUpdateEntity(Object entity) {
    public void saveOrUpdateEntity(Object entity) throws Exception {
        if (entity == null) return;
        hibernateTemplate.saveOrUpdate(entity);
    }
    public void mergeEntity(Object entity) {
    public void mergeEntity(Object entity) throws Exception {
        if (entity == null) return;
        hibernateTemplate.merge(entity);
    }
    public void deleteEntity(Object entity) {
    public void deleteEntity(Object entity) throws Exception {
        if (entity == null) return;
        hibernateTemplate.delete(entity);
    }
    public <T> void deleteEntity(Class<T> cls, Serializable id) {
    public <T> void deleteEntity(Class<T> cls, Serializable id) throws Exception {
        T obj = (T) hibernateTemplate.load(cls, id);
        hibernateTemplate.delete(obj);
    }
    public <T> T getEntity(Class<T> cls, Serializable id) {
    public <T> T getEntity(Class<T> cls, Serializable id) throws Exception {
        return (T) hibernateTemplate.get(cls, id);
    }
    //=========================hibernate end==============================
@ -139,7 +137,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
     * 例如: queryListBySql("select * from person")
     * @author ding
     */
    public List<Map<String, Object>> queryListBySql(String sql) {
    public List<Map<String, Object>> queryListBySql(String sql) throws Exception {
        List<Map<String, Object>> result = this.jdbcTemplate.queryForList(sql);
        return result;
    }
@ -153,7 +151,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
     * 例如: queryListBySql("select * from person where username=?",new Object[]{"admin"})
     * @author ding
     */
    public List<Map<String, Object>> queryListBySql(String sql, List params) {
    public List<Map<String, Object>> queryListBySql(String sql, List params) throws Exception {
        List<Map<String, Object>> result = this.jdbcTemplate.queryForList(sql, params.toArray());
        return result;
    }
@ -168,7 +166,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
     * @author ding
     */
    @SuppressWarnings({"rawtypes", "unchecked"})
    public <T> List<T> queryListBySql(String sql, Class obj) {
    public <T> List<T> queryListBySql(String sql, Class obj) throws Exception {
        RowMapper rowMapper = (RowMapper) ParameterizedBeanPropertyRowMapper.newInstance(obj);
        List<T> result = this.jdbcTemplate.query(sql, rowMapper);
        return result;
@ -185,7 +183,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
     * @author ding
     */
    @SuppressWarnings({"rawtypes", "unchecked"})
    public <T> List<T> queryListBySql(String sql, List params, Class obj) {
    public <T> List<T> queryListBySql(String sql, List params, Class obj) throws Exception {
        RowMapper rowMapper = (RowMapper) ParameterizedBeanPropertyRowMapper.newInstance(obj);
        List<T> result = this.jdbcTemplate.query(sql, params.toArray(), rowMapper);
        return result;
@ -202,7 +200,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
     * @author ding
     */
    @SuppressWarnings({"rawtypes", "unchecked"})
    public <T> T queryObjBySql(String sql, List params, Class obj) {
    public <T> T queryObjBySql(String sql, List params, Class obj) throws Exception {
        RowMapper rowMapper = (RowMapper) ParameterizedBeanPropertyRowMapper.newInstance(obj);
        Object result = this.jdbcTemplate.queryForObject(sql, params.toArray(), rowMapper);
        return (T) result;
@ -218,7 +216,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
     * @author ding
     */
    @SuppressWarnings({"rawtypes", "unchecked"})
    public <T> T queryObjBySql(String sql, Class obj) {
    public <T> T queryObjBySql(String sql, Class obj) throws Exception {
        RowMapper rowMapper = (RowMapper) ParameterizedBeanPropertyRowMapper.newInstance(obj);
        Object result = this.jdbcTemplate.queryForObject(sql, rowMapper);
        return (T) result;
@ -227,7 +225,7 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
    /**
     * 获取单列值
     */
    public <T> T scalarBySql(String sql,Class cls) {
    public <T> T scalarBySql(String sql,Class cls) throws Exception {
        Object result = this.jdbcTemplate.queryForObject(sql, cls);
        return (T) result;
    }
@ -242,6 +240,9 @@ public class SQLGeneralDAO implements XSQLGeneralDAO {
        this.jdbcTemplate.execute(sql);
    }
    /******************** sql构造器 *****************************************************/
    public <T> List getEntityList(Class<T> cls, String hql) {
        Query query = getCurrentSession().createQuery(hql);
        return query.list();

+ 1 - 3
Hos-Framework/src/main/java/com/yihu/ehr/framework/model/DataGridResult.java

@ -10,9 +10,7 @@ import java.io.Serializable;
import java.util.List;
/**
 * ���VO
 * @author cwd
 *
 * 列表对象
 */
public class DataGridResult extends Result implements Serializable{

+ 3 - 8
Hos-Framework/src/main/java/com/yihu/ehr/framework/model/Result.java

@ -2,14 +2,11 @@ package com.yihu.ehr.framework.model;
/**
 * Created by chenweida on 2015/12/11.
 * result����
 * 基础对象
 */
public class Result {
    // �Ƿ�ɹ�
    private boolean successFlg = true;
    // ������Ϣ
    private String message;
    //�������
    private int errorCode;
    public boolean isSuccessFlg() {
@ -37,8 +34,7 @@ public class Result {
    }
    /**
     * ������Ϣ
     * @return
     * 错误消息
     */
    public static Result error(String message) {
        Result re= new Result();
@ -48,8 +44,7 @@ public class Result {
    }
    /**
     * �ɹ���Ϣ
     * @return
     * 成功消息
     */
    public static Result success(String message) {
        Result re= new Result();

+ 0 - 10
Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java

@ -7,7 +7,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONObject;
import org.junit.Test;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -35,13 +34,4 @@ public class CrawlerController {
        return false;
    }
    @Test
    public void crawlerTest() {
        Patient patient = new Patient();
        patient.setPatientId("1004192");
        patient.setEventNo("999999");
        patient.setOrgCode("1");
        JSONObject jsonObject = JSONObject.fromObject(patient);
        CrawlerManager.getInstance().collectProcess(patient);
    }
}

+ 4 - 3
Hos-resource/src/main/java/com/yihu/ehr/datacollect/controller/DataPushController.java

@ -8,6 +8,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * 数据采集配置页面
 * Created by hzp on 2015/8/12.
@ -23,11 +24,11 @@ public class DataPushController extends BaseController {
    /*
    推数据
     */
    @RequestMapping("pushData")
    @RequestMapping("datapush")
    @ResponseBody
    public Result pushData(String dataset,String data,String orgCode) {
    public Result datapush(String dataset,String data,String orgCode) {
        try {
            return datapushService.pushData(dataset, data, orgCode);
            return datapushService.pushData(dataset, data,orgCode);
        }
        catch (Exception ex)
        {

+ 22 - 2
Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/DatacollectDao.java

@ -22,6 +22,26 @@ import java.util.Map;
@Repository("DatacollectDao")
public class DatacollectDao extends SQLGeneralDAO implements IDatacollectDao {
    /**
     * 通过机构代码获取版本号
     */
    @Override
    public String getVersion(String orgCode) throws Exception
    {
        try{
            String sql = "select IFNULL(b.version,'') from adapter_scheme a\n" +
                    "left join adapter_scheme_version b \n" +
                    "on a.id=b.scheme_id \n" +
                    "where a.adapter_publisher_org_code='"+orgCode+"' ORDER BY PUBLISH_TIME DESC LIMIT 1;";
            return super.scalarBySql(sql, String.class);
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return "";
        }
    }
    /**
     * 根据JobId获取Cron表达式
     */
@ -75,9 +95,9 @@ public class DatacollectDao extends SQLGeneralDAO implements IDatacollectDao {
    @Override
    public String getSchemeAndVersion(String schemeVersionId) throws Exception
    {
        String sql = "select  CONCAT_WS(' -- ',s.name,v.name)  from adapter_scheme_version v " +
        String sql = "select IFNULL( (select  CONCAT_WS(' -- ',s.name,v.name)  from adapter_scheme_version v " +
                "left join adapter_scheme s on s.id = v.scheme_id " +
                "where v.version='"+schemeVersionId+"'";
                "where v.version='"+schemeVersionId+"'),'')";
        return super.scalarBySql(sql, String.class);
    }

+ 13 - 1
Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/DatacollectLogDao.java

@ -23,7 +23,7 @@ public class DatacollectLogDao extends SQLGeneralDAO implements IDatacollectLogD
    /**
     * 修改
     * 修改轮询字段
     */
    @Override
    public void updateJobDatasetKeyvalue(String id,String jobDatasetKeyvalue) throws Exception
@ -33,4 +33,16 @@ public class DatacollectLogDao extends SQLGeneralDAO implements IDatacollectLogD
    }
    /******************************** 推模式日志 ***************************************/
    /**
     * 推数据新增日志
     */
    public void addDataPushLog() throws Exception
    {
        String sql = "";
        //super.execute(sql);
    }
}

+ 5 - 0
Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/intf/IDatacollectDao.java

@ -15,6 +15,11 @@ import java.util.Map;
 */
public interface IDatacollectDao extends XSQLGeneralDAO {
    /**
     * 通过机构代码获取版本号
     */
    public String getVersion(String orgCode) throws Exception;
    /**
     * 根据JobId获取Cron表达式
     */

+ 6 - 0
Hos-resource/src/main/java/com/yihu/ehr/datacollect/dao/intf/IDatacollectLogDao.java

@ -19,4 +19,10 @@ public interface IDatacollectLogDao extends XSQLGeneralDAO {
     * 修改
     */
    public void updateJobDatasetKeyvalue(String id, String jobDatasetKeyvalue) throws Exception;
    /**
     * 推数据新增日志
     */
    public void addDataPushLog() throws Exception;
}

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectService.java

@ -176,7 +176,7 @@ public class DatacollectService implements IDatacollectService {
    {
        //应用标准字段
        String colName = "adapterEntryCode";
        if(type!="1") //通过name转译
        if(type.equals("0")) //通过name转译
        {
            colName = "adapterEntryValue";
        }

+ 64 - 92
Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatapushService.java

@ -1,24 +1,23 @@
package com.yihu.ehr.datacollect.service;
import com.yihu.ehr.common.Services;
import com.yihu.ehr.datacollect.dao.intf.IDatacollectDao;
import com.yihu.ehr.datacollect.dao.intf.IDatacollectLogDao;
import com.yihu.ehr.datacollect.model.*;
import com.yihu.ehr.datacollect.service.intf.IDatacollectManager;
import com.yihu.ehr.datacollect.service.intf.IDatapushService;
import com.yihu.ehr.dbhelper.common.enums.DBType;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.dbhelper.mongodb.MongodbHelper;
import com.yihu.ehr.framework.constrant.DateConvert;
import com.yihu.ehr.framework.model.ActionResult;
import com.yihu.ehr.framework.model.Result;
import com.yihu.ehr.resource.service.IStdService;
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterMetadataResultDetailModel;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -27,60 +26,17 @@ import java.util.List;
@Service(Services.DatapushService)
public class DatapushService implements IDatapushService {
    @Resource(name = Services.Datacollect)
    private IDatacollectManager datacollect;
    @Autowired
    private IDatacollectDao datacollect;
    @Resource(name = Services.StdService)
    @Autowired
    private IDatacollectLogDao datacollectLog;
    @Autowired
    private IStdService stdService;
    MongodbHelper mongo = new MongodbHelper();
    String dateFormat = "yyyy-MM-dd HH:mm:ss"; //默认时间字符串格式
    /**
     * 字典转换
     */
    private JSONObject translateDict(JSONObject data,JSONArray colList,String schemeVersion) throws Exception
    {
        //获取字典列表
        List<DtoDictCol> dictColList = new ArrayList<>();
        for(int i=0; i< colList.length();i++)
        {
            JSONObject col = colList.getJSONObject(i);
            String dictId = col.optString("adapterDictId");
            if(dictId!=null && dictId.length()>0)
            {
                String dictType = col.optString("adapterDataType");
                String stdMetadataCode = col.optString("stdMetadataCode");
                DtoDictCol dictCol = new DtoDictCol();
                dictCol.setStdMetadataCode(stdMetadataCode);
                dictCol.setAdapterDictId(dictId);
                dictCol.setAdapterDataType(dictType.length()>0?dictType:"1");//默认通过code转换字典
                //获取字典数据
                List dictString = stdService.getDictByScheme(schemeVersion,dictId);
                JSONArray dictAdapterArray = new JSONArray(dictString);
                dictCol.setDictList(dictAdapterArray);
                dictColList.add(dictCol);
            }
        }
        //遍历字典字段
        for (DtoDictCol col : dictColList) {
            String colNmae = col.getStdMetadataCode();
            String oldValue = data.optString(colNmae);
            String newValue = translateDictValue(oldValue,col.getAdapterDataType(),col.getDictList());
            if(newValue!=null && newValue.length()>0)
            {
                data.put(colNmae,newValue);
            }
        }
        return data;
    }
    /**
     * 转译字典
     */
@ -88,7 +44,7 @@ public class DatapushService implements IDatapushService {
    {
        //应用标准字段
        String colName = "adapterEntryCode";
        if(type!="1") //通过name转译
        if(type.equals("0")) //通过name转译
        {
            colName = "adapterEntryValue";
        }
@ -108,62 +64,78 @@ public class DatapushService implements IDatapushService {
    }
    /*****************************************************************************************************/
    /**
     * 采集入库
     * 数据入库
     */
    private String intoMongodb(JSONObject data,String schemeVersion,String stdDatasetCode,JSONArray colList)
    @Override
    @Transactional
    public Result pushData(String datasetCode,String dataString,String orgCode) throws Exception
    {
        try{
            if(data!=null)
        //机构标准版本
        String version = datacollect.getVersion(orgCode);
        //通过标准数据集名称获取适配关系
        AdapterDatasetModel dataset = stdService.getDatasetByCode(version,datasetCode);
        if(dataset!=null)
        {
            String datasetId = dataset.getStdDatasetId().toString();
            List<AdapterMetadataResultDetailModel> list = stdService.getDatacolByScheme(version,datasetId);
            if(list!=null && list.size()>0)
            {
                //字典转换
                data = translateDict(data, colList,schemeVersion);
                JSONObject data = new JSONObject(dataString);
                JSONObject obj = new JSONObject();
                //标准转换
                for(AdapterMetadataResultDetailModel metadata : list)
                {
                    String stdColName = metadata.getStdMetadataCode();
                    String adapterColName = metadata.getAdapterMetadataCode();
                    if(data.has(adapterColName))
                    {
                        String val = data.optString(adapterColName);
                        String newValue =val;
                        //判断是否字典
                        if(metadata.getAdapterDictId()!=null&&metadata.getAdapterDictId()!=0)
                        {
                            //获取字典列表
                            List dictString = stdService.getDictByScheme(version,metadata.getAdapterDictId().toString());
                            JSONArray dictAdapterArray = new JSONArray(dictString);
                            String type = "";
                            if(metadata.getAdapterDataType()!=null)
                            {
                                type = metadata.getAdapterDataType().toString();
                            }
                            newValue = translateDictValue(val,type,dictAdapterArray);
                        }
                        obj.put(stdColName,newValue);
                    }
                }
                //采集到mongodb
                boolean b = mongo.insert(stdDatasetCode,data);
                //MongoDB入库
                boolean b = mongo.insert(datasetCode,obj);
                if(!b)
                {
                    if(mongo.errorMessage!=null && mongo.errorMessage.length()>0)
                    {
                        System.out.print(mongo.errorMessage);
                        return mongo.errorMessage;
                        return ActionResult.error("Mongodb保存失败!(表:\"+datasetCode+\")"+mongo.errorMessage);
                    }
                    else {
                        return "Mongodb保存失败!(表:"+stdDatasetCode+")";
                        return ActionResult.error("Mongodb保存失败!(表:"+datasetCode+")");
                    }
                }
            }
        }
        catch (Exception e)
        {
            return e.getMessage();
        }
        return "";
    }
                //日志记录
                datacollectLog.addDataPushLog();
    /*****************************************************************************************************/
    /**
     * 获取版本号
     */
    @Override
    public String getVersion(String orgCode) throws Exception
    {
                return ActionResult.success("数据入库成功!");
            }
        }
        return "";
        return ActionResult.error("适配标准不完善!");
    }
    /**
     * 数据入库
     */
    @Override
    @Transactional
    public Result pushData(String dataset,String data,String orgCode) throws Exception
    {
        return ActionResult.success("");
    }
}

+ 0 - 5
Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/intf/IDatapushService.java

@ -8,11 +8,6 @@ import com.yihu.ehr.framework.model.Result;
 */
public interface IDatapushService {
    /**
     * 获取版本号
     */
    String getVersion(String orgCode) throws Exception;
    /**
     * 数据入库
     */

+ 7 - 6
Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsCategoryController.java

@ -50,13 +50,14 @@ public class RsCategoryController extends BaseController {
            String s=rrrd.getRemark();
            StringBuilder s1=new StringBuilder();
            for(int i=0;i<s.length();i++) {
                if (s.charAt(i) == '\'' || s.charAt(i) == '\"') {
                    s1.append("\\");
                    s1.append(s.charAt(i));
            if(s!=null) {
                for (int i = 0; i < s.length(); i++) {
                    if (s.charAt(i) == '\'' || s.charAt(i) == '\"') {
                        s1.append("\\");
                        s1.append(s.charAt(i));
                    } else
                        s1.append(s.charAt(i));
                }
                else
                    s1.append(s.charAt(i));
            }
            rrrd.setRemark(s1.toString());
            model.addAttribute("model", rrrd);

+ 13 - 6
Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsDimensionController.java

@ -8,11 +8,14 @@ import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
@ -57,14 +60,17 @@ public class RsDimensionController {
     * @return
     */
    @RequestMapping("/editorDimension")
    public String editorDimension(Model model, String id) {
        if (!StringUtils.isEmpty(id)) {
            try {
                model.addAttribute("model", rsDimensionService.getDimensionById(id));
            } catch (Exception e) {
    public String editorDimension(Model model, String id,String category) {
        try {
            if (!StringUtils.isEmpty(id))
                    model.addAttribute("model", rsDimensionService.getDimensionById(id));
            if(category!=null)
                 model.addAttribute("category",category);
            }
        catch (Exception e) {
            }
        }
        model.addAttribute("contentPage", "dimension/dimension/editorDimension");
        return "pageView";
    }
@ -119,6 +125,7 @@ public class RsDimensionController {
        try {
            Map<String, Object> conditionMap = new HashMap<String, Object>();
            conditionMap.put("category", request.getParameter("dimensionCategoryId"));
            conditionMap.put("name", request.getParameter("name"));
            String page = (String) conditionMap.get("page");
            String rows = (String) conditionMap.get("rows");
            conditionMap.put("page", StringUtils.isEmpty(page) ? 1 : Integer.valueOf(page));

+ 4 - 0
Hos-resource/src/main/java/com/yihu/ehr/resource/dao/impl/RsResourceDimensionDaoImpl.java

@ -29,6 +29,10 @@ public class RsResourceDimensionDaoImpl extends SQLGeneralDAO implements IRsReso
        if (!StringUtils.isEmpty(conditionMap.get("category"))) {
            sb.append(" and r.category= '" + conditionMap.get("category") + "'  ");
        }
        else if(!StringUtils.isEmpty(conditionMap.get("name")))
        {
            sb.append(" and r.name like '%" + conditionMap.get("name") + "%'");
        }
        return super.getDataGridResult(sb.toString(), (Integer)conditionMap.get("page"), (Integer)conditionMap.get("rows"));
    }
}

+ 6 - 0
Hos-resource/src/main/java/com/yihu/ehr/resource/service/IStdService.java

@ -22,6 +22,7 @@ public interface IStdService {
     */
    public DictionaryResult getDictResultByVersion(String schemeVersion, String dictId) throws Exception;
    /**************************** 适配方案 **************************************************/
    /**
     * 获取适配方案列表
@ -48,6 +49,11 @@ public interface IStdService {
     */
    public List<AdapterDictEntryModel> getDictByScheme(String schemeVersion, String dictId) throws Exception;
    /**
     * 通过适配方案+标准数据集CODE获取数据集
     * @return
     */
    public AdapterDatasetModel getDatasetByCode(String schemeVersion,String stdDatasetCode) throws Exception;
    /******************************** 标准版本 *****************************************************/
    /**
     * 通过标准版本获取数据集列表

+ 9 - 0
Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/RsResourceRestServiceImpl.java

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
@ -45,13 +46,21 @@ public class RsResourceRestServiceImpl implements IRsResourceRestService {
    @Transactional
    public Result deleteResourceRestById(String id) throws Exception {
        Map<String, Object> conditionMap = new HashMap<>();
        conditionMap.put("resourceRestId",id);
        if(resourceRestDetailDao.getResourceRestDetilList(conditionMap, 1, 10).getTotalCount()!=0)
        {
            return Result.error("该资源存在业务项");
        }
        RsResourceRest r = resourceRestDao.getEntity(RsResourceRest.class, id);
        //resourceRestDetailDao.get
        resourceRestDao.deleteEntity(r);
        return Result.success("删除成功");
    }
    @Transactional
    public Result deleteResourceRestDetail(String id) throws Exception {
        RsResourceRestDetail r = resourceRestDetailDao.getEntity(RsResourceRestDetail.class, id);
        resourceRestDetailDao.deleteEntity(r);
        return Result.success("删除成功");

+ 23 - 1
Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/StdService.java

@ -8,6 +8,7 @@ import com.yihu.ehr.framework.util.operator.CollectionUtil;
import com.yihu.ehr.resource.service.IStdService;
import com.yihu.ehr.standard.model.adapter.AdapterDatasetModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictEntryModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterMetadataResultDetailModel;
import com.yihu.ehr.standard.model.adapter.resultModel.SchemeVersionResultDetailModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
@ -78,7 +79,7 @@ public class StdService implements IStdService {
    /**
     * 通过适配方案获取字段列表
     */
    public List<AdapterMetadataResultDetailModel> getDatacolByScheme(String schemeVersion, String datasetId) {
    public List<AdapterMetadataResultDetailModel> getDatacolByScheme(String schemeVersion, String datasetId) throws Exception {
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("adapterDatasetId", datasetId);
        return metadataService.getInfoList(schemeVersion, net.sf.json.JSONObject.fromObject(map).toString(), null, null, null);
@ -120,6 +121,27 @@ public class StdService implements IStdService {
        return re;
    }
    /**
     * 通过适配方案+标准数据集CODE获取数据集
     * @return
     */
    public AdapterDatasetModel getDatasetByCode(String schemeVersion,String stdDatasetCode) throws Exception
    {
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("stdDatasetCode", stdDatasetCode);
        AdapterVersion version = new AdapterVersion(schemeVersion);
        List<AdapterDatasetModel> list =  datasetService.getList(AdapterDatasetModel.class, version.getDataSetTableName(), net.sf.json.JSONObject.fromObject(map).toString(), null, null, null, ErrorCode.GetDataSetFailed);
        if(list!=null&&list.size()>0)
        {
            return list.get(0);
        }
        else{
            return null;
        }
    }
    /******************************** 标准版本 *****************************************************/
    /**
     * 通过标准版本获取数据集列表

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

@ -49,7 +49,7 @@ public class SchemeDictEntryController extends BaseController {
            @ApiParam(name = "rows", value = "Limit the size of result set. Must be an integer")
            @RequestParam(value = "rows", required = false) Integer rows,
            @ApiParam(name = "page", value = "Start position of result set. Must be an integer")
            @RequestParam(value = "page", required = false) Integer page) {
            @RequestParam(value = "page", required = false) Integer page) throws Exception{
        List<AdapterDictEntryResultDetailModel> detailModelList = dictentryService.getDictEntryList(AdapterDictEntryModel.class, adapterVersion, condition, order, rows, page - 1);
        Integer count = dictentryService.getDictEntryInt(AdapterDictEntryModel.class, adapterVersion, condition);
        Result result = new Result();

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

@ -48,7 +48,7 @@ public class SchemeMetadataController extends BaseController {
            @ApiParam(name = "rows", value = "Limit the size of result set. Must be an integer")
            @RequestParam(value = "rows", required = false) Integer rows,
            @ApiParam(name = "page", value = "Start position of result set. Must be an integer")
            @RequestParam(value = "page", required = false) Integer page) {
            @RequestParam(value = "page", required = false) Integer page)  throws Exception{
        List<ApiMetadataResultDetailModel> metadataModelList = metadataService.getMetadataList(AdapterMetadataModel.class, adapterVersion, condition, order, rows, page - 1);
        Integer count = metadataService.getMetadataCount(AdapterMetadataModel.class, adapterVersion, condition);
        Result result = new Result();
@ -74,7 +74,7 @@ public class SchemeMetadataController extends BaseController {
            @ApiParam(name = "adapterVersion", value = "标准版本号")
            @RequestParam(value = "adapterVersion") String adapterVersion,
            @ApiParam(name = "metadata", value = "数据元")
            @RequestParam(value = "metadata") String metadata) {
            @RequestParam(value = "metadata") String metadata) throws Exception {
        return metadataService.modify(adapterVersion, metadata);
    }
@ -84,7 +84,7 @@ public class SchemeMetadataController extends BaseController {
            @ApiParam(name = "adapterVersion", value = "标准版本号")
            @RequestParam(value = "adapterVersion") String adapterVersion,
            @ApiParam(name = "metadata", value = "数据元")
            @RequestParam(value = "metadata") String metadata) {
            @RequestParam(value = "metadata") String metadata) throws Exception {
        return metadataService.add(adapterVersion, metadata);
    }

+ 4 - 4
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/StandardVersionController.java

@ -49,7 +49,7 @@ public class StandardVersionController extends BaseController {
    @ApiOperation(value = "保存标准版本", response = StandardVersionModel.class, produces = "application/json", notes = "保存标准版本")
    public StandardVersionModel addVersion(
            @ApiParam(name = "version", value = "标准版本信息")
            @RequestParam(value = "version") String version) {
            @RequestParam(value = "version") String version) throws Exception {
        return (StandardVersionModel) standardVersionService.add(version);
    }
@ -63,7 +63,7 @@ public class StandardVersionController extends BaseController {
    @ApiOperation(value = "修改版本", response = StandardVersionModel.class, produces = "application/json", notes = "修改版本")
    public StandardVersionModel updateVersion(
            @ApiParam(name = "version", value = "标准版本")
            @RequestParam(value = "version") String version) {
            @RequestParam(value = "version") String version) throws Exception {
        return standardVersionService.update(version);
    }
@ -80,7 +80,7 @@ public class StandardVersionController extends BaseController {
            @ApiParam(name = "versionId", value = "标准版本ID")
            @RequestParam(value = "versionId") Integer versionId,
            @ApiParam(name = "publisher", value = "发布者")
            @RequestParam(value = "publisher") String publisher) {
            @RequestParam(value = "publisher") String publisher) throws Exception {
        return standardVersionService.publish(versionId, publisher);
    }
@ -96,7 +96,7 @@ public class StandardVersionController extends BaseController {
            @ApiParam(name = "versionId", value = "标准版本ID")
            @RequestParam(value = "versionId") Integer versionId,
            @ApiParam(name = "version", value = "标准版本值")
            @RequestParam(value = "version") String version) {
            @RequestParam(value = "version") String version) throws Exception {
        standardVersionService.delete(versionId,version);
    }

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterDictEntryService.java

@ -88,7 +88,7 @@ public class AdapterDictEntryService extends SQLGeneralDAO {
        }
    }
    public List getDictEntryList(Class tClass, String adapterVersion, String condition, String order, Integer limit, Integer offset) {
    public List getDictEntryList(Class tClass, String adapterVersion, String condition, String order, Integer limit, Integer offset) throws Exception{
        AdapterVersion version = new AdapterVersion(adapterVersion);
        String tableName = version.getDictEntryTableName();
        SqlCreator sqlCreator = new SqlCreator(tClass);

+ 8 - 10
Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterMetadataService.java

@ -38,7 +38,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        super.finalize();
    }
    public AdapterMetadataModel add(String adapterVersion, String metadata) {
    public AdapterMetadataModel add(String adapterVersion, String metadata) throws Exception {
        try {
            AdapterVersion version = new AdapterVersion(adapterVersion);
            ObjectMapper objectMapper = new ObjectMapper();
@ -60,7 +60,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        }
    }
    public void delete(String adapterVersion, Integer metadataId) {
    public void delete(String adapterVersion, Integer metadataId) throws Exception {
        try {
            if (adapterVersion == null || adapterVersion.length() == 0) {
                throw new ApiException(ErrorCode.InvalidStdVersion);
@ -76,7 +76,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        }
    }
    public AdapterMetadataModel modify(String adapterVersion, String metadata) {
    public AdapterMetadataModel modify(String adapterVersion, String metadata) throws Exception {
        try {
            AdapterVersion version = new AdapterVersion(adapterVersion);
            ObjectMapper objectMapper = new ObjectMapper();
@ -93,7 +93,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        }
    }
    public List getMetadataList(Class tClass, String adapterVersion, String condition, String order, Integer limit, Integer offset) {
    public List getMetadataList(Class tClass, String adapterVersion, String condition, String order, Integer limit, Integer offset) throws Exception {
        AdapterVersion version = new AdapterVersion(adapterVersion);
        String tableName = version.getMetaDataTableName();
        SqlCreator sqlCreator = new SqlCreator(tClass);
@ -102,11 +102,9 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        if (!StringUtil.isEmpty(condition)) {
            try {
                JsonNode jsonNode = objectMapper.readTree(condition);
                String name = jsonNode.get("name").asText();
                sqlCreator.equalCondition("stdDatasetId", jsonNode.get("stdDatasetId").asInt());
                if (jsonNode.get("name") != null) {
                    String name = jsonNode.get("name").asText();
                    sqlCreator.likeOrCondition("stdMetadataCode", "stdMetadataName", name);
                }
                sqlCreator.likeOrCondition("stdMetadataCode", "stdMetadataName", name);
            } catch (IOException e) {
                e.printStackTrace();
            }
@ -185,7 +183,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        return detailModelList;
    }
    public Integer getMetadataCount(Class tClass, String adapterVersion, String condition) {
    public Integer getMetadataCount(Class tClass, String adapterVersion, String condition) throws Exception {
        AdapterVersion version = new AdapterVersion(adapterVersion);
        String tableName = version.getMetaDataTableName();
        SqlCreator sqlCreator = new SqlCreator(tClass);
@ -210,7 +208,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
        return count;
    }
    public List getInfoList(String adapterVersion, String condition, String order, Integer limit, Integer offset) {
    public List getInfoList(String adapterVersion, String condition, String order, Integer limit, Integer offset) throws Exception{
        AdapterVersion version = new AdapterVersion(adapterVersion);
        List<AdapterMetadataModel> metadataModelList = getList(AdapterMetadataModel.class, version.getMetaDataTableName(), condition, order, limit, offset, ErrorCode.GetMetaDataListFaield);
        List<Integer> idList = new ArrayList<>();

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterSchemeVersionService.java

@ -267,7 +267,7 @@ public class AdapterSchemeVersionService extends SQLGeneralDAO {
        }
    }
    private void buildVersionTables(AdapterSchemeVersionModel versionModel) {
    private void buildVersionTables(AdapterSchemeVersionModel versionModel) throws Exception {
        AdapterVersion adapterVersion = new AdapterVersion(versionModel.getVersion());
        AdapterSchemeModel scheme = getEntity(AdapterSchemeModel.class, versionModel.getSchemeId());
        StandardVersion stdVersion = new StandardVersion(scheme.getStdVersion());

+ 11 - 11
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardVersionService.java

@ -41,7 +41,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        throw new ApiException(ErrorCode.StandardVersionGetListFailed);
    }
    public Object add(String version) {
    public Object add(String version) throws Exception {
        Boolean existFlg = false;
        try {
            ObjectMapper objectMapper = new ObjectMapper();
@ -73,7 +73,7 @@ public class StandardVersionService extends SQLGeneralDAO {
            return false;
    }
    public Boolean versionNameValidate(Integer standardId, Integer versionId, String versionName) {
    public Boolean versionNameValidate(Integer standardId, Integer versionId, String versionName) throws Exception {
        String sql = "FROM StandardVersionModel WHERE name = :name and standardId = :standardId and id != :versionId";
        Query query = getCurrentSession().createQuery(sql);
        query.setParameter("standardId", standardId);
@ -86,7 +86,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        return false;
    }
    public void delete(Integer versionId,String version) {
    public void delete(Integer versionId,String version) throws Exception {
        Boolean existFlg = false;
        Boolean useredFlg = false;
        try {
@ -119,7 +119,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        }
    }
    public StandardVersionModel update(String version) {
    public StandardVersionModel update(String version) throws Exception {
        Boolean existFlg = false;
        try {
            ObjectMapper objectMapper = new ObjectMapper();
@ -148,7 +148,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        }
    }
    public StandardVersionModel fork(Integer versionId) {
    public StandardVersionModel fork(Integer versionId) throws Exception {
        try {
            return this.myFork(versionId);
@ -157,7 +157,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        }
    }
    public StandardVersionModel publish(Integer versionId, String publisher) {
    public StandardVersionModel publish(Integer versionId, String publisher) throws Exception {
        try {
            return this.myPublish(versionId, publisher);
        } catch (DataAccessException e) {
@ -178,7 +178,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        return null;
    }
    public StandardVersionModel myPublish(Integer versionId, String publisher) {
    public StandardVersionModel myPublish(Integer versionId, String publisher) throws Exception {
        StandardVersionModel standardVersionModel = myGet(versionId);
        //TODO:generate standard version file;
        String path = "";
@ -192,7 +192,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        return standardVersionModel;
    }
    private StandardVersionModel myFork(Integer versionId) throws IOException {
    private StandardVersionModel myFork(Integer versionId) throws Exception {
        StandardVersionModel baseVersionModel = myGet(versionId);
        StandardVersionModel newVersionModel = new StandardVersionModel();
        newVersionModel.setBaseVersion(baseVersionModel.getVersion());
@ -216,11 +216,11 @@ public class StandardVersionService extends SQLGeneralDAO {
        return (StandardVersionModel) query.uniqueResult();
    }
    private void delete(StandardVersionModel standardVersionModel) {
    private void delete(StandardVersionModel standardVersionModel) throws Exception {
        deleteEntity(standardVersionModel);
    }
    private void update(StandardVersionModel standardVersionModel) {
    private void update(StandardVersionModel standardVersionModel) throws Exception {
        try {
            updateEntity(standardVersionModel);
        } catch (Exception e) {
@ -228,7 +228,7 @@ public class StandardVersionService extends SQLGeneralDAO {
        }
    }
    private void  add(StandardVersionModel standardVersionModel) {
    private void  add(StandardVersionModel standardVersionModel) throws Exception {
        StandardVersion standardVersion = StandardVersion.generateVersion();
        standardVersionModel.setVersion(standardVersion.getVersion());
        standardVersionModel.setPublishTime(null);

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdCDACatalogService.java

@ -65,7 +65,7 @@ public class StdCDACatalogService extends SQLGeneralDAO {
        throw new ApiException(ErrorCode.StandardCDACatalogSaveFailed);
    }
    public void delete(Integer catalogId) {
    public void delete(Integer catalogId) throws Exception {
        try {
            if (catalogId != null) {
                StdCDACatalogModel stdCdaCatalogModel = get(catalogId);

+ 5 - 5
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDatasetCatalogService.java

@ -47,7 +47,7 @@ public class StdDatasetCatalogService extends SQLGeneralDAO {
        throw new ApiException(ErrorCode.StandardDatasetCatalogGetListFailed);
    }
    public Object add(String catalog) {
    public Object add(String catalog) throws Exception {
        try {
            ObjectMapper objectMapper = new ObjectMapper();
            StdDatasetCatalogModel stdDatasetCatalogModel = objectMapper.readValue(catalog, StdDatasetCatalogModel.class);
@ -61,7 +61,7 @@ public class StdDatasetCatalogService extends SQLGeneralDAO {
        throw new ApiException(ErrorCode.StandardDatasetCatalogSaveFailed);
    }
    public void delete(Integer catalogId) {
    public void delete(Integer catalogId) throws Exception {
        try {
            if (catalogId != null) {
                StdDatasetCatalogModel cdaCatalogModel = get(catalogId);
@ -72,7 +72,7 @@ public class StdDatasetCatalogService extends SQLGeneralDAO {
        }
    }
    public Object update(String catalog) {
    public Object update(String catalog) throws Exception {
        try {
            ObjectMapper objectMapper = new ObjectMapper();
            StdDatasetCatalogModel stdDatasetCatalogModel = objectMapper.readValue(catalog, StdDatasetCatalogModel.class);
@ -107,11 +107,11 @@ public class StdDatasetCatalogService extends SQLGeneralDAO {
        throw new ApiException(ErrorCode.StandardDatasetCatalogGetFailed);
    }
    private void modify(StdDatasetCatalogModel stdDatasetCatalogModel) throws IOException {
    private void modify(StdDatasetCatalogModel stdDatasetCatalogModel)  throws Exception {
        updateEntity(stdDatasetCatalogModel);
    }
    private void add(StdDatasetCatalogModel stdDatasetCatalogModel) throws IOException {
    private void add(StdDatasetCatalogModel stdDatasetCatalogModel)  throws Exception {
        ObjectMapper objectMapper = new ObjectMapper();
        Session session = getCurrentSession();
        String sql = "select max(id) from " + StdDatasetCatalogModel.TABLE_NAME;

+ 0 - 14
Hos-resource/src/main/resources/redisconfig.properties

@ -1,14 +0,0 @@
    #Redis settings
    redis.host=172.19.103.47
    redis.port=6379
    redis.pass=
    #默认的数据库
    redis.defaultDatabase=0
    ##最大空闲数
    redis.maxIdle=300
    ##最大连接数
    redis.maxTotle=600
    ##最大建立连接等待时间
    redis.maxWaitMillis=1000
    ##指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
    redis.testOnBorrow=true

+ 0 - 13
Hos-resource/src/main/resources/resource.properties

@ -1,13 +0,0 @@
#hopurl=http://172.19.103.56:8080/WSGW/services/ServiceGateWay
#org_code=41872607-9
#username=user
#password=standard
#serverip=172.19.103.56
#port=6020
####################http\u914D\u7F6E\u4FE1\u606F####################
#http.url=http://192.168.131.103:6020/api/v1.0/
#http.url=http://172.19.103.56:6020/api/v1.0/
#http.username=user
#http.password=standard
http.gateway=http://172.19.103.56:8890/gateway/transfer

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/web.xml

@ -59,7 +59,7 @@
        </init-param>
        <init-param>
            <param-name>notCheckURLList</param-name>
            <param-value>/loginPage;/system/loginAction;/error</param-value>
            <param-value>/loginPage;/system/loginAction;/error;/datapush/datapush</param-value>
        </init-param>
    </filter>
    <filter-mapping>