Browse Source

Merge branch 'dev' of chenweida/patient-co-management into dev

chenweida 7 years ago
parent
commit
885890b9b1

+ 7 - 3
patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/ConvertHelper.java

@ -27,24 +27,28 @@ public class ConvertHelper {
    private WlyyDimensionQuotaDao wlyyDimensionQuotaDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 把每个维度的key清洗到对应的slaveKey中
     * @param filterModel  过滤之后的model
     *
     * @param filterModel     过滤之后的model
     * @param dimensionQuotas 维度的列表
     * @return
     * @throws Exception
     */
    public FilterModel convert(FilterModel filterModel, List<WlyyDimensionQuota> dimensionQuotas) throws Exception {
        List<DataModel> data = filterModel.getData();
        for (int i = 0; i < dimensionQuotas.size(); i++) {
            WlyyDimensionQuota temp = dimensionQuotas.get(i);
            String clazz = temp.getConvertClazz();
            if (!StringUtils.isEmpty(clazz)) {
                //反射出对象并且调用convert方法去转换对应的slavekey
                Object obj = Class.forName(clazz).newInstance();
                Method method = obj.getClass().getMethod("convert",JdbcTemplate.class, List.class,String.class,WlyyDimensionQuota.class);
                method.invoke(obj,jdbcTemplate, filterModel.getData(), String.valueOf(i + 1),temp);
                Method method = obj.getClass().getMethod("convert", JdbcTemplate.class, List.class, String.class, WlyyDimensionQuota.class);
                data = (List<DataModel>) method.invoke(obj, jdbcTemplate, data, String.valueOf(i + 1), temp);
            }
        }
        filterModel.setData(data);
        return filterModel;
    }
}

+ 5 - 1
patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/DiseaseLableConvert.java

@ -39,7 +39,7 @@ public class DiseaseLableConvert implements Convert {
                "  spli.label_type = '3' " +
                "AND spli. STATUS = '1'";
        List<HealthLable> healthLables = jdbcTemplate.query(sql, new BeanPropertyRowMapper(HealthLable.class));
        //疾病标签可能有多个
        //疾病标签可能有多个 转mapkey是患者code value是服务标签的code
        Map<String, List<String>> healthLablesMap = new HashMap<>();
        healthLables.stream().forEach(one -> {
            List<String> value = new ArrayList<String>();
@ -47,14 +47,18 @@ public class DiseaseLableConvert implements Convert {
                value = healthLablesMap.get(one.getPatient());
            }
            value.add(one.getHealthLable());
            healthLablesMap.put(one.getPatient(),value);
        });
        //给DataModel复制维度数据
        oneList.stream().forEach(one -> {
            try {
                //如果没有标签信息默认在未分组
                List<String> value = healthLablesMap.get(one.getPatient());
                if(value==null||value.size()==0){
                    value=new ArrayList<String>();
                    value.add("0");
                }
                //如果
                for (int i = 0; i < value.size(); i++) {
                    DataModel dataModelTemp = new DataModel();
                    BeanUtils.copyProperties(one, dataModelTemp);

+ 2 - 2
patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/save/es/ElasticFactory.java

@ -76,8 +76,8 @@ public class ElasticFactory {
    private synchronized void initTranClient() throws UnknownHostException {
        if (transportClient == null) {
            Settings settings = Settings.settingsBuilder()
                    .put("client.transport.sniff", true)
                    .put("cluster.name", StringUtils.isEmpty(clusterName) ? "jkzl" : clusterName)
                    .put("client.transport.sniff", true)//开启嗅探功能
                    .put("cluster.name", StringUtils.isEmpty(clusterName) ? "jkzl" : clusterName)//默认集群名字是jkzl
                    .build();
            transportClient = TransportClient.builder().settings(settings).build()

+ 1 - 1
patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentMysqlToEsQuotaJob.java

@ -181,7 +181,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
                            .must(QueryBuilders.matchQuery("quotaCode", quotaCode))
                            .must(QueryBuilders.matchQuery("timeLevel", timeLevel))
                            .must(QueryBuilders.matchQuery("quotaDate", quotaDate)))
                    .size(100000);
                    .size(50000);
            Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(esIndex).addType(esType)
                    .build();

+ 1 - 1
patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/job/business/MysqlToEsQuotaJob.java

@ -184,7 +184,7 @@ public class MysqlToEsQuotaJob implements Job {
                            .must(QueryBuilders.matchQuery("quotaCode", quotaCode))
                            .must(QueryBuilders.matchQuery("timeLevel", timeLevel))
                            .must(QueryBuilders.matchQuery("quotaDate", quotaDate))
            ).size(100000);//一次取10000条
            ).size(50000);//一次取10000条
            Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(esIndex).addType(esType)
                    .build();

+ 0 - 37
patient-co-statistics-es/src/main/resources/application.yml

@ -266,40 +266,3 @@ wlyy:
quartz:
  name: schedulerFactoryBean_dev
---
  spring:
    profiles: lxx
    datasource:
      primaryReadWrite: #只读库 主库
        url: jdbc:mysql://172.19.103.77/wlyy?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
        username: root
        password: 123456
      primaryRead: #只读库 从库
        url: jdbc:mysql://172.19.103.77/wlyy?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
        username: root
        password: 123456
      im: #im库
        url: jdbc:mysql://172.19.103.77/ichat?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
        username: root
        password: 123456
    redis:
      host: 172.19.103.88  # Redis server host.
      port: 6379 # Redis server port.
    followupMessage:
      cron : 0 5 0 * * ?
      jobId : FOLLOWUP_PLAN_JOB
  fv:
    jdbc:
      driver: com.mysql.jdbc.Driver
      url: jdbc:mysql://172.19.103.77/fv?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
      username: root
      password: 123456
  systemConfig:
    msg_push_server: http://172.19.103.76:3000