Browse Source

大屏相关

liubing 3 years ago
parent
commit
ee5c991778

+ 21 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java

@ -1,6 +1,7 @@
package com.yihu.jw.care.endpoint.statistics;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.service.assistance.EmergencyAssistanceService;
import com.yihu.jw.care.service.doctor.CareDoctorService;
@ -438,4 +439,24 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "addLineIndexs")
    @ApiOperation(value = "数据折线趋势,多个指标相加")
    public ListEnvelop addLineIndexs(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String timeLevel,
            @RequestParam(required = false) String interval,
            @RequestParam(required = false) String lowLevel) {
        try {
            JSONArray result = statisticsService.addLineIndexs(startDate,endDate, area, level, index, timeLevel,interval,lowLevel);
            return success(result);
        } catch (Exception e) {
            return failedListEnvelopException2(e);
        }
    }
}

+ 37 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -2558,7 +2558,6 @@ public class StatisticsService {
        List<BaseServiceNews> result = new ArrayList<>();
        String olderFilter = roleService.getOlderRoleSQL(area,level);
        String baseServiceSql = "select sn.* from base_service_news sn where sn.user_type = 1 " + olderFilter.replace("{patient}","sn.code");
        /*if ("330100".equals(area)){
                baseServiceSql +=" UNION SELECT sn.* FROM base_service_news sn WHERE sn.user_type =2 ";
        }else {
@ -2805,4 +2804,41 @@ public class StatisticsService {
        return res;
    }
    /**
     * 通用增量趋势接口
     */
    public JSONArray addLineIndexs(String startDate, String endDate, String area, int level, String index, String timeLevel, String interval, String lowLevel) throws Exception {
        String[] indexs = index.split(",");
        JSONArray result = new JSONArray();
        List<List<SaveModel>> indexResultList = new ArrayList<>();
        for (String tmp:indexs){
            List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, tmp, timeLevel, interval, lowLevel);
            indexResultList.add(list);
        }
            if (indexResultList.size()>0){
            List<SaveModel> list = indexResultList.get(0);
            Integer length = list.size();
            Integer indexLength = indexResultList.size();
            for (int i=0;i<length;i++) {
                JSONObject range = new JSONObject();
                SaveModel saveModel = list.get(i);
                Double amount = saveModel.getResult2();
                String date = DateUtil.dateToStr(saveModel.getQuotaDate(), "yyyy-MM-dd");
                for (int j=1;j<indexLength;j++){
                    try {
                        List<SaveModel> tmpList = indexResultList.get(j);
                        SaveModel saveModelTmp = tmpList.get(i);
                        amount +=saveModelTmp.getResult2();
                    }catch (Exception e){}
                }
                range.put("range", date);
                range.put("amount", amount);
                result.add(range);
            }
        }else {
            return null;
        }
        return result;
    }
}