Sfoglia il codice sorgente

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

trick9191 7 anni fa
parent
commit
bfef366943

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

@ -107,12 +107,22 @@ public class CurrentMysqlToEsQuotaJob implements Job {
        //初始化结束时间
        this.endTime = DateUtil.getStringDate("yyyy-MM-dd HH:mm:ss");
        //初始化开始时间
        this.startTime = new LocalDate(new DateTime().minusDays(1)).toString("yyyy-MM-dd") + " 17:00:00"; //2017-06-01 17:00:00
        //初始化统计年份
        this.year = getNowYearByDate(endTime);
        //初始化开始时间
        if ("2".equals(timeLevel)) {
            //按年度到达量
            startTime = this.year + "-06-30 17:00:00";
        }else{
            //增量
            if (StringUtils.isEmpty(startTime)) {
                this.startTime = new LocalDate(new DateTime().minusDays(1)).toString("yyyy-MM-dd") + " 17:00:00"; //2017-06-01 17:00:00
            } else {
                startTime = startTime + " 17:00:00";
            }
        }
        this.quotaDate = DateUtil.strToDate(endTime, "yyyy-MM-dd");
    }
@ -127,6 +137,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
        List<QuartzJobConfig> list = quartzJobConfigDao.findByIds();
        list.stream().forEach(one -> {
            try {
                logger.info("========================quotaCode:" + one.getId() + ","+DateUtil.dateToStr(quotaDate, "yyyy-MM-dd")+" start========================");
                QuartzJobLog tjQuotaLog = new QuartzJobLog();
                tjQuotaLog.setJobId(one.getId());
                tjQuotaLog.setJobStartTime(new Date());
@ -150,6 +161,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
                tjQuotaLog.setJobEndTime(new Date());
                tjQuotaLog.setJobContent(JSONArray.fromObject(filterModel.getErrorModels()).toString());
                saveLog(tjQuotaLog);
                logger.info("========================quotaCode:" + one.getId() + ","+DateUtil.dateToStr(quotaDate, "yyyy-MM-dd")+" start========================");
            } catch (Exception e) {
                e.printStackTrace();
            }

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

@ -109,14 +109,21 @@ public class MysqlToEsQuotaJob implements Job {
        } else {
            endTime = endTime + " 17:00:00";
        }
        //初始化开始时间
        if (StringUtils.isEmpty(startTime)) {
            startTime = new LocalDate(new DateTime().minusDays(2)).toString("yyyy-MM-dd") + " 17:00:00"; //2017-06-01 17:00:00
        } else {
            startTime = startTime + " 17:00:00";
        }
        //初始化统计年份
        this.year = getNowYearByDate(endTime);
        //初始化开始时间
        if ("2".equals(timeLevel)) {
            //按年度到达量
            startTime = this.year + "-06-30 17:00:00";
        }else{
            //增量
            if (StringUtils.isEmpty(startTime)) {
                startTime = new LocalDate(new DateTime().minusDays(2)).toString("yyyy-MM-dd") + " 17:00:00"; //2017-06-01 17:00:00
            } else {
                startTime = startTime + " 17:00:00";
            }
        }
        this.quotaDate = DateUtil.strToDate(endTime, "yyyy-MM-dd");
@ -128,6 +135,7 @@ public class MysqlToEsQuotaJob implements Job {
     */
    private void computequota() {
        try {
            logger.info("========================quotaCode:" + wlyyJobConfigVO.getId() + ","+DateUtil.dateToStr(quotaDate, "yyyy-MM-dd")+" start========================");
            QuartzJobLog tjQuotaLog = new QuartzJobLog();
            tjQuotaLog.setJobId(wlyyJobConfigVO.getId());
            tjQuotaLog.setJobStartTime(new Date());
@ -153,6 +161,7 @@ public class MysqlToEsQuotaJob implements Job {
            tjQuotaLog.setJobEndTime(new Date());
            tjQuotaLog.setJobContent(JSONArray.fromObject(filterModel.getErrorModels()).toString());
            saveLog(tjQuotaLog);
            logger.info("========================quotaCode:" + wlyyJobConfigVO.getId() + ","+DateUtil.dateToStr(quotaDate, "yyyy-MM-dd")+" end========================");
        } catch (Exception e) {
            e.printStackTrace();
        }
@ -246,8 +255,8 @@ public class MysqlToEsQuotaJob implements Job {
     */
    private FilterModel filter(List<DataModel> dataModel) {
        try {
            FilterModel filterModel= SpringUtil.getBean(FilterHelper.class).filter(dataModel);
            logger.info("FilterModel:  success sizs:"+filterModel.getData().size()+",error size:"+filterModel.getErrorModels().size());
            FilterModel filterModel = SpringUtil.getBean(FilterHelper.class).filter(dataModel);
            logger.info("FilterModel:  success sizs:" + filterModel.getData().size() + ",error size:" + filterModel.getErrorModels().size());
            return filterModel;
        } catch (Exception e) {
            logger.error("filter error:" + e.getMessage());
@ -267,18 +276,18 @@ public class MysqlToEsQuotaJob implements Job {
            if (StringUtils.isEmpty(wlyyJobConfigVO.getCacheKey())) {
                //不支持直接去数据库拿
                dataModels = SpringUtil.getBean(ExtractHelper.class).extractData(wlyyJobConfigVO, startTime, endTime, year, timeLevel);
            }else{
            } else {
                //缓存的key 是 时间+timelevel+key
                StringBuffer bu=new StringBuffer(DateUtil.dateToStr(quotaDate,"yyyy-MM-dd")+"-"+timeLevel+"-"+wlyyJobConfigVO.getCacheKey());
                StringBuffer bu = new StringBuffer(DateUtil.dateToStr(quotaDate, "yyyy-MM-dd") + "-" + timeLevel + "-" + wlyyJobConfigVO.getCacheKey());
                //支持的话判断缓存有没有值
                dataModels= Cache.getCache(bu.toString());
                if(dataModels==null){
                dataModels = Cache.getCache(bu.toString());
                if (dataModels == null) {
                    //如果缓存是空的那么直接数据库拿 在放入缓存
                    dataModels = SpringUtil.getBean(ExtractHelper.class).extractData(wlyyJobConfigVO, startTime, endTime, year, timeLevel);
                     Cache.addCache(bu.toString(),dataModels);
                    Cache.addCache(bu.toString(), dataModels);
                }
            }
            logger.info("quotaCode:"+wlyyJobConfigVO.getId()+",size:"+dataModels.size());
            logger.info("quotaCode:" + wlyyJobConfigVO.getId() + ",size:" + dataModels.size());
            return dataModels;
        } catch (Exception e) {
            logger.error("extract error:" + e.getMessage());

+ 8 - 8
patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/service/JobService.java

@ -143,8 +143,8 @@ public class JobService {
                for (int j = 1; j <= 2; j++) {
                    params.put("timeLevel", j + "");
                    //往quartz框架添加任务
                    params.put("daybefore", getYesterday(0 - i - 1));
                    params.put("yesterday", getYesterday(0 - i));
                    params.put("startTime", getYesterday(0 - i - 1));
                    params.put("endTime", getYesterday(0 - i));
                    if (!StringUtils.isEmpty(quartzJobConfig.getJobClass())) {
                        quartzHelper.startNow(getRightClass(quartzJobConfig), quartzJobConfig.getId() + UUID.randomUUID().toString().replace("-", ""), params);
                       Thread.sleep(6000L);
@ -182,8 +182,8 @@ public class JobService {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("jobConfig", wlyyJobConfigVO);
            //往quartz框架添加任务
            params.put("daybefore", daybefore);
            params.put("yesterday", yesterday);
            params.put("startTime", daybefore);
            params.put("endTime", yesterday);
            for (int j = 1; j <= 2; j++) {
                params.put("timeLevel", j + "");
@ -228,8 +228,8 @@ public class JobService {
        params.put("jobConfig", wlyyJobConfigVO);
        //往quartz框架添加任务
        params.put("daybefore", daybefore);
        params.put("yesterday", yesterday);
        params.put("startTime", daybefore);
        params.put("endTime", yesterday);
        for (int j = 1; j <= 2; j++) {
            params.put("timeLevel", j + "");
@ -258,8 +258,8 @@ public class JobService {
        params.put("jobConfig", wlyyJobConfigVO);
        for (int i = 1; i <= day; i++) {
            //往quartz框架添加任务
            params.put("daybefore", getYesterday(0 - i - 1));
            params.put("yesterday", getYesterday(0 - i));
            params.put("startTime", getYesterday(0 - i - 1));
            params.put("endTime", getYesterday(0 - i));
            for (int j = 1; j <= 2; j++) {
                params.put("timeLevel", j + "");
                if (!StringUtils.isEmpty(quartzJobConfig.getJobClass())) {