esb 8 年之前
父節點
當前提交
6060df7e71

+ 30 - 9
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/RedisStorage.java

@ -240,6 +240,7 @@ public class RedisStorage {
            //得到每个团队的2级维度
            Map<String, Map<String, List<ETLModel>>> twoETLMap= etlModelMap.get(oneAdminTeam.getKey());
            for(int i=start2;i<=foreachNum2;i++){
                JSONArray jrlevel2=new JSONArray();
                //得到每个团队的三级维度
                Map<String, List<ETLModel>> threeETLMap=null;
                if(twoETLMap!=null){
@ -267,7 +268,11 @@ public class RedisStorage {
                    redisTemplate.opsForValue().set(sb.toString(), jo.toString());
                    level2Jr.put(jo);
                    jrlevel2.put(jo);
                }
                StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+adminTeamObj.getId()+":"+timeKey);
                keys.add(sb.toString());
                redisTemplate.opsForValue().set(sb.toString(), jrlevel2.toString());
            }
            StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+adminTeamObj.getId()+":"+timeKey);
            keys.add(sb.toString());
@ -344,6 +349,7 @@ public class RedisStorage {
            //得到每个团队的2级维度
            Map<String, Map<String, List<ETLModel>>> twoETLMap= etlModelMap.get(oneHospital.getKey());
            for(int i=start2;i<=foreachNum2;i++){
                JSONArray jrlevel2=new JSONArray();
                //得到每个团队的三级维度
                Map<String, List<ETLModel>> threeETLMap= new HashMap<String, List<ETLModel>>();
                if(twoETLMap!=null){
@ -369,7 +375,11 @@ public class RedisStorage {
                    keys.add(sb.toString());
                    redisTemplate.opsForValue().set(sb.toString(), jo.toString());
                    jr.put(jo);
                    jrlevel2.put(jo);
                }
                StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+hospital.getCode()+":"+i+":"+timeKey);
                keys.add(sb.toString());
                redisTemplate.opsForValue().set(sb.toString(), jrlevel2.toString());
            }
            StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+hospital.getCode()+":"+timeKey);
            keys.add(sb.toString());
@ -481,6 +491,7 @@ public class RedisStorage {
            //得到每个团队的2级维度
            Map<String, Map<String, List<ETLModel>>> twoETLMap= etlModelMap.get(oneTownTeam.getKey());
            for(int i=start2;i<=foreachNum2;i++){
                JSONArray jrlevel2=new JSONArray();
                //得到每个团队的三级维度
                Map<String, List<ETLModel>> threeETLMap= new HashMap<String, List<ETLModel>>();
                if(twoETLMap!=null){
@ -510,7 +521,12 @@ public class RedisStorage {
                    keys.add(sb.toString());
                    redisTemplate.opsForValue().set(sb.toString(), jo.toString());
                    jr.put(jo);
                    jrlevel2.put(jo);
                }
                StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+town.getCode()+":"+i+":"+timeKey);
                keys.add(sb.toString());
                redisTemplate.opsForValue().set(sb.toString(), jrlevel2.toString());
            }
            StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+town.getCode()+":"+timeKey);
            keys.add(sb.toString());
@ -528,6 +544,7 @@ public class RedisStorage {
            Map<String, Map<String, List<ETLModel>>> twoETLMap= etlModelMap.get(oneCityTeam.getKey());
            for(int i=start2;i<=foreachNum2;i++){
                //得到每个团队的三级维度
                JSONArray jrLevel2=new JSONArray();
                Map<String, List<ETLModel>> threeETLMap= new HashMap<String, List<ETLModel>>();
                if(twoETLMap!=null){
                    threeETLMap=twoETLMap.get(i+"");
@ -552,8 +569,12 @@ public class RedisStorage {
                    keys.add(sb.toString());
                    redisTemplate.opsForValue().set(sb.toString(), jo.toString());
                    jrLevel2.put(jo);
                    jr.put(jo);
                }
                StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+cityObj.getCode()+":"+i+":"+timeKey);
                keys.add(sb.toString());
                redisTemplate.opsForValue().set(sb.toString(), jrLevel2.toString());
            }
            StringBuffer sb=new StringBuffer("quota:"+wlyyQuotaId+":"+level1+":"+cityObj.getCode()+":"+timeKey);
            keys.add(sb.toString());
@ -891,20 +912,20 @@ public class RedisStorage {
            redisTemplate.opsForValue().set(key.toString(), jo.toString());
        }
        //保存市下面全部的团队
        StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":4:1:"+Constant.city+":"+timeKey);
        StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":4:"+Constant.city+":1:"+timeKey);
        keys.add(key.toString());
        redisTemplate.opsForValue().set(key.toString(), cityjr.toString());
        //保存区下面全部的团队
        for(Map.Entry<String,JSONArray> entry:townjr.entrySet()){
            key=new StringBuffer("quota:"+wlyyQuotaId+":3:1:"+entry.getKey()+":"+timeKey);
            key=new StringBuffer("quota:"+wlyyQuotaId+":3:"+entry.getKey()+":1:"+timeKey);
            keys.add(key.toString());
            redisTemplate.opsForValue().set(key.toString(), entry.getValue().toString());
        }
        townjr.clear();
        //保存机构下面全部的团队
        for(Map.Entry<String,JSONArray> entry:orgjr.entrySet()){
            key=new StringBuffer("quota:"+wlyyQuotaId+":2:1:"+entry.getKey()+":"+timeKey);
            key=new StringBuffer("quota:"+wlyyQuotaId+":2:"+entry.getKey()+":1:"+timeKey);
            keys.add(key.toString());
            redisTemplate.opsForValue().set(key.toString(), entry.getValue().toString());
        }
@ -959,13 +980,13 @@ public class RedisStorage {
            redisTemplate.opsForValue().set(key.toString(), jo.toString());
        }
        //保存市下面全部的机构
        StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":4:2:"+Constant.city+":"+timeKey);
        StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":4:"+Constant.city+":2:"+timeKey);
        keys.add(key.toString());
        redisTemplate.opsForValue().set(key.toString(), cityjr.toString());
        //保存区下面全部的机构
        for(Map.Entry<String,JSONArray> entry:townjr.entrySet()){
            key=new StringBuffer("quota:"+wlyyQuotaId+":3:2:"+entry.getKey()+":"+timeKey);
            key=new StringBuffer("quota:"+wlyyQuotaId+":3:"+entry.getKey()+":2:"+timeKey);
            keys.add(key.toString());
            redisTemplate.opsForValue().set(key.toString(), entry.getValue().toString());
        }
@ -1073,7 +1094,7 @@ public class RedisStorage {
            jo.put("num", num);
            jo.put("name", entry.getValue().getName());
            jo.put("code", entry.getValue().getCode());
            redisTemplate.opsForValue().set(new StringBuffer("quota:"+wlyyQuotaId+":3:"+entry.getKey()).toString()+":0", jo.toString());
            redisTemplate.opsForValue().set(new StringBuffer("quota:"+wlyyQuotaId+":3:"+entry.getKey()).toString(), jo.toString());
        }
    }
    private void saveLevel1Town(String wlyyQuotaId, Map<String, Town> townsMap, Map<String, List<ETLModel>> townTeam) {
@ -1090,12 +1111,12 @@ public class RedisStorage {
            jo.put("name", entry.getValue().getName());
            jo.put("code", entry.getValue().getCode());
            jr.put(jo);
            StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":3:"+entry.getKey()+":"+timeKey);
            StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":"+entry.getKey()+":3:"+timeKey);
            keys.add(key.toString());
            redisTemplate.opsForValue().set(key.toString(), jo.toString());
        }
        //保存市下面全部的区
        StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":4:3:"+Constant.city+":"+timeKey);
        StringBuffer key=new StringBuffer("quota:"+wlyyQuotaId+":4:"+Constant.city+":3:"+timeKey);
        keys.add(key.toString());
        redisTemplate.opsForValue().set(key.toString(), jr.toString());
    }
@ -1117,7 +1138,7 @@ public class RedisStorage {
            jo.put("num", num);
            jo.put("name", entry.getValue().getName());
            jo.put("code", entry.getValue().getCode());
            redisTemplate.opsForValue().set(new StringBuffer("quota:"+wlyyQuotaId+":4:"+entry.getKey()).toString()+":0", jo.toString());
            redisTemplate.opsForValue().set(new StringBuffer("quota:"+wlyyQuotaId+":4:"+entry.getKey()).toString(), jo.toString());
        }
    }
    private void saveLevel1City(String wlyyQuotaId, Map<String, City> cityMap, Map<String, List<ETLModel>> cityTeam) {