|
@ -1299,34 +1299,58 @@ public class StatisticsService extends BaseService {
|
|
|
|
|
|
if(StringUtils.isBlank(lowLevel)){
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
if(StringUtils.isBlank(timeKey)){
|
|
|
return null;
|
|
|
}
|
|
|
//及时回复数
|
|
|
|
|
|
String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":3:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyVal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray rely = new JSONArray(relyVal);
|
|
|
|
|
|
//咨询总数
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:3:"+level+":"+area+":3:"+timeKey);
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:25:"+level+":"+area+":3:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray total = new JSONArray(relyTotal);
|
|
|
|
|
|
//未回复数
|
|
|
String onRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":3:"+timeKey);
|
|
|
JSONArray onRely = new JSONArray(relyTotal);
|
|
|
if(StringUtils.isBlank(onRelyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray onRely = new JSONArray(onRelyTotal);
|
|
|
|
|
|
result.put("resultList",getCoutList(rely,total,onRely));
|
|
|
}else{
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
if(StringUtils.isBlank(timeKey)){
|
|
|
return null;
|
|
|
}
|
|
|
//及时回复数
|
|
|
|
|
|
String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":2:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyVal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray rely = new JSONArray(relyVal);
|
|
|
|
|
|
//咨询总数
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:3:"+level+":"+area+":2:"+timeKey);
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:25:"+level+":"+area+":2:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray total = new JSONArray(relyTotal);
|
|
|
|
|
|
//未回复数
|
|
|
String onRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":2:"+timeKey);
|
|
|
JSONArray onRely = new JSONArray(relyTotal);
|
|
|
if(StringUtils.isBlank(onRelyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray onRely = new JSONArray(onRelyTotal);
|
|
|
|
|
|
result.put("resultList",getCoutList(rely,total,onRely));
|
|
|
}
|
|
@ -1337,40 +1361,63 @@ public class StatisticsService extends BaseService {
|
|
|
//quota:23:4:350200:2:1492939333191
|
|
|
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
if(StringUtils.isBlank(timeKey)){
|
|
|
return null;
|
|
|
}
|
|
|
//及时回复数
|
|
|
|
|
|
String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":2:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyVal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray rely = new JSONArray(relyVal);
|
|
|
|
|
|
//咨询总数
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:3:"+level+":"+area+":2:"+timeKey);
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:25:"+level+":"+area+":2:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray total = new JSONArray(relyTotal);
|
|
|
|
|
|
//未回复数
|
|
|
String onRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":2:"+timeKey);
|
|
|
JSONArray onRely = new JSONArray(relyTotal);
|
|
|
|
|
|
result.put("resultList",getCoutList(rely,total,onRely));
|
|
|
String noRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":2:"+timeKey);
|
|
|
if(StringUtils.isBlank(noRelyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray noRely = new JSONArray(noRelyTotal);
|
|
|
result.put("resultList",getCoutList(rely,total,noRely));
|
|
|
|
|
|
}else if(level == 2){//机构级别统计,统计所有团队
|
|
|
|
|
|
//quota:23:4:350200:2:1492939333191
|
|
|
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
if(StringUtils.isBlank(timeKey)){
|
|
|
return null;
|
|
|
}
|
|
|
//及时回复数
|
|
|
|
|
|
String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":1:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyVal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray rely = new JSONArray(relyVal);
|
|
|
|
|
|
//咨询总数
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:3:"+level+":"+area+":1:"+timeKey);
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:25:"+level+":"+area+":1:"+timeKey);
|
|
|
if(StringUtils.isBlank(relyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray total = new JSONArray(relyTotal);
|
|
|
|
|
|
//未回复数
|
|
|
String onRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":1:"+timeKey);
|
|
|
JSONArray onRely = new JSONArray(relyTotal);
|
|
|
String noRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":1:"+timeKey);
|
|
|
if(StringUtils.isBlank(noRelyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONArray noRely = new JSONArray(noRelyTotal);
|
|
|
|
|
|
result.put("resultList",getCoutList(rely,total,onRely));
|
|
|
result.put("resultList",getCoutList(rely,total,noRely));
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
@ -1387,20 +1434,32 @@ public class StatisticsService extends BaseService {
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
if(StringUtils.isBlank(timeKey)){
|
|
|
return null;
|
|
|
}
|
|
|
//及时回复数
|
|
|
|
|
|
String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":"+timeKey);
|
|
|
if(StringUtils.isBlank(relyVal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONObject relyObject =new JSONObject(relyVal);
|
|
|
JSONArray rely = new JSONArray();
|
|
|
rely.put(relyObject);
|
|
|
//咨询总数
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:3:"+level+":"+area+":"+timeKey);
|
|
|
JSONObject totalObject =new JSONObject(relyVal);
|
|
|
String relyTotal = redisTemplate.opsForValue().get("quota:25:"+level+":"+area+":"+timeKey);
|
|
|
if(StringUtils.isBlank(relyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONObject totalObject =new JSONObject(relyTotal);
|
|
|
JSONArray total = new JSONArray();
|
|
|
total.put(totalObject);
|
|
|
//未回复数
|
|
|
String onRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":"+timeKey);
|
|
|
JSONObject onRelyObject =new JSONObject(relyVal);
|
|
|
if(StringUtils.isBlank(onRelyTotal)){
|
|
|
return null;
|
|
|
}
|
|
|
JSONObject onRelyObject =new JSONObject(onRelyTotal);
|
|
|
JSONArray onRely = new JSONArray();
|
|
|
onRely.put(onRelyObject);
|
|
|
|
|
@ -1464,33 +1523,57 @@ public class StatisticsService extends BaseService {
|
|
|
double rr = (double)relyNm/totalNm*100;
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
rs.put("relyRate",df.format(rr)+"%");
|
|
|
rs.put("relyDoubleRate",rr);
|
|
|
}else{
|
|
|
rs.put("relyRate","0.00%");
|
|
|
rs.put("relyDoubleRate",0.0);
|
|
|
}
|
|
|
if(noRelyNm!=null&&noRelyNm!=0){
|
|
|
double rr = (double)noRelyNm/totalNm*100;
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
rs.put("noRelyRate",df.format(rr)+"%");
|
|
|
rs.put("noRelyDoubleRate",rr);
|
|
|
}else{
|
|
|
rs.put("noRelyRate","0.00%");
|
|
|
rs.put("noRelyDoubleRate",0.0);
|
|
|
}
|
|
|
|
|
|
}else{
|
|
|
rs.put("relyRate","0.00%");
|
|
|
rs.put("relyDoubleRate",0.0);
|
|
|
rs.put("noRelyRate","0.00%");
|
|
|
rs.put("noRelyDoubleRate",0.0);
|
|
|
}
|
|
|
|
|
|
resultMaps.add(rs);
|
|
|
}
|
|
|
|
|
|
//根据回复数排序
|
|
|
//根据为回复数排序
|
|
|
Collections.sort(resultMaps, new Comparator<Map<String,Object>>(){
|
|
|
|
|
|
public int compare(Map<String,Object> o1,Map<String,Object> o2){
|
|
|
return (Long)o1.get("relyCount")<(Long)o2.get("relyCount")?1:( (Long)o1.get("relyCount")==(Long)o2.get("relyCount")?0:-1);
|
|
|
return (double)o1.get("noRelyDoubleRate")<(double)o2.get("noRelyDoubleRate")?1:( (double)o1.get("noRelyDoubleRate")==(double)o2.get("noRelyDoubleRate")?0:-1);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
return resultMaps;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取及时回复的时间分布
|
|
|
* @param level
|
|
|
* @param area
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getCoutListByTime(String level,String area){
|
|
|
JSONObject result = new JSONObject();
|
|
|
|
|
|
if(StringUtils.isNotBlank(level)&&StringUtils.isNotBlank(area)){
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
String relyVal = redisTemplate.opsForValue().get("quota:24:"+level+":"+area+":"+timeKey);
|
|
|
JSONArray array = new JSONArray(relyVal);
|
|
|
result.put("resultList",array);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|