Browse Source

省平台上传量有误

chenyongxing 6 years ago
parent
commit
40bf73a563

+ 38 - 4
src/main/java/com/yihu/ehr/analyze/service/pack/PackStatisticsService.java

@ -928,13 +928,15 @@ public class PackStatisticsService extends BaseJpaService {
    public Envelop getReceiveNum(String startDate, String endDate, String orgArea) throws Exception {
        Envelop envelop = new Envelop();
        List<Map<String, Object>> res  = getReceive(startDate, endDate ,orgArea);
        Map<String, Object> orgCodeupload = getUpload(startDate, endDate, 1);
        Map<String, Object> orgAreaupload = getUpload(startDate, endDate, 2);
        for(Map<String, Object> map : res){
            if(StringUtils.isNotEmpty(orgArea)){
                map.put("analyzeNum",getAnalyzer(startDate, endDate,"", map.get("org_code")+""));
                map.put("uploadNum",getUpload(startDate, endDate, "", map.get("org_code")+""));
                map.put("uploadNum",orgCodeupload.get(map.get("org_code")+""));
            }else{
                map.put("analyzeNum",getAnalyzer(startDate, endDate, map.get("org_area")+"",""));
                map.put("uploadNum",getUpload(startDate, endDate, map.get("org_area")+"",""));
                map.put("uploadNum",orgAreaupload.get(map.get("org_area")+""));
            }
        }
@ -1013,8 +1015,8 @@ public class PackStatisticsService extends BaseJpaService {
    private long getUpload(String startDate, String endDate ,String area, String orgCode){
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("create_date>=" + startDate + " 00:00:00;");
        stringBuilder.append("create_date<" + endDate + " 23:59:59;");
        stringBuilder.append("analyze_date>=" + startDate + " 00:00:00;");
        stringBuilder.append("analyze_date<" + endDate + " 23:59:59;");
        if(StringUtils.isNotEmpty(area)){
            stringBuilder.append("org_area="+area+";");
        }
@ -1023,4 +1025,36 @@ public class PackStatisticsService extends BaseJpaService {
        }
        return elasticSearchUtil.count("upload","record",stringBuilder.toString());
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param searchType 1 按orgCode统计   2 按orgArea统计
     * @return
     */
    private Map<String, Object> getUpload(String startDate, String endDate ,int searchType) throws Exception {
        Map<String, Object> resMap = new HashMap<>();
        List<String> fields = new ArrayList<String>();
        fields.add("count");
        String sql ="";
        if(searchType == 1){
            fields.add("org_code");
            sql = "SELECT count(DISTINCT event_no) as count ,org_code FROM upload/record  where analyze_date>='"+startDate+" 00:00:00' and analyze_date<='"+endDate+" 23:59:59' group by org_code";
        }else{
            fields.add("org_area");
            sql = "SELECT count(DISTINCT event_no) as count ,org_area FROM upload/record  where analyze_date>='"+startDate+" 00:00:00' and analyze_date<='"+endDate+" 23:59:59' group by org_area";
        }
        List<Map<String, Object>> resultList = elasticSearchUtil.findBySql(fields, sql);
        for (Map<String, Object> map : resultList) {
            if(searchType == 1){
                resMap.put(map.get("org_code").toString(), map.get("count"));
            } else {
                resMap.put(map.get("org_area").toString(), map.get("count"));
            }
        }
        return resMap;
    }
}