|
@ -2867,25 +2867,48 @@ public class StatisticsAllService extends BaseService {
|
|
|
return Double.valueOf(filesize);
|
|
|
}
|
|
|
|
|
|
public JSONArray getLevelTwoLowLevelTotalSignAndRenew(String area, int level, String index, int sort, String lowLevel, String year) throws Exception {
|
|
|
public JSONArray getLevelTwoLowLevelTotalSignAndRenew(String area, int level, String index, int sort, String lowLevel, String year, String lowCode) throws Exception {
|
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String lastDate = year + "-06-30";
|
|
|
String timeKey = redisTemplate.opsForValue().get("quota:timeKey");
|
|
|
|
|
|
String low_level = String.valueOf(StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();//续签量
|
|
|
//从redis获取续签量列表 团队,机构 区的续签量根据index来区分
|
|
|
JSONArray renewJA = getLevel2ListForRedis(index, level + "", lowLevel, area, timeKey);
|
|
|
|
|
|
//续签量
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
//续签的的列表转map
|
|
|
Map<String, Integer> renewMap = new HashMap<>();
|
|
|
if (renewJA != null && renewJA.length() > 0) {
|
|
|
for (int i = 0; i < renewJA.length(); i++) {
|
|
|
JSONObject jo = renewJA.getJSONObject(i);
|
|
|
renewMap.put(jo.getString("code"), jo.getInt("num"));
|
|
|
|
|
|
//如果服务团队维度CODE为空,则走旧方法,不为空,则走新方法
|
|
|
if(org.apache.commons.lang.StringUtils.isBlank(lowCode)){
|
|
|
//旧方法
|
|
|
//从redis获取续签量列表 团队,机构 区的续签量根据index来区分
|
|
|
JSONArray renewJA = getLevel2ListForRedis(index, level + "", lowLevel, area, timeKey);
|
|
|
if (renewJA != null && renewJA.length() > 0) {
|
|
|
for (int i = 0; i < renewJA.length(); i++) {
|
|
|
JSONObject jo = renewJA.getJSONObject(i);
|
|
|
renewMap.put(jo.getString("code"), jo.getInt("num"));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}else{
|
|
|
//新方法
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults = findQuotaResultsWithLevelType2AndParentQuatoCode(DateUtil.getNextDay(new Date(),-1),level,Integer.parseInt(lowLevel), index, area,lowCode);
|
|
|
|
|
|
for (WlyyQuotaResult wlyyQuotaResult: wlyyQuotaResults) {
|
|
|
if("3".equals(low_level)){
|
|
|
renewMap.put(wlyyQuotaResult.getTown(),Integer.parseInt(wlyyQuotaResult.getResult()));
|
|
|
}else if("2".equals(low_level)){
|
|
|
renewMap.put(wlyyQuotaResult.getOrgCode(),Integer.parseInt(wlyyQuotaResult.getResult()));
|
|
|
}else if("1".equals(low_level)){
|
|
|
renewMap.put(wlyyQuotaResult.getQkdoctorCode(),Integer.parseInt(wlyyQuotaResult.getResult()));
|
|
|
}else{
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//自建结果集
|
|
|
resultList = getLowLevelMapKey(level, low_level, area);
|
|
|
|
|
@ -2893,7 +2916,22 @@ public class StatisticsAllService extends BaseService {
|
|
|
if (resultList != null) {
|
|
|
DecimalFormat df = new DecimalFormat("0.0000");
|
|
|
//查询去年的签约转map
|
|
|
List<WlyyQuotaResult> yearsYear = findQuotaResultList(lastDate, Integer.valueOf(low_level), "1");
|
|
|
List<WlyyQuotaResult> yearsYear = new ArrayList<>();
|
|
|
if(org.apache.commons.lang.StringUtils.isBlank(lowCode)){
|
|
|
yearsYear = findQuotaResultList(lastDate, Integer.valueOf(low_level), "1");
|
|
|
}else{
|
|
|
if("3".equals(lowCode)){
|
|
|
//老年人
|
|
|
yearsYear = findQuotaResultsWithLevelType1AndLevelType2(lastDate,Integer.valueOf(low_level),"17","3");
|
|
|
}else if("4".equals(lowCode)){
|
|
|
//高血压
|
|
|
yearsYear = findQuotaResultsWithLevelType1AndLevelType2(lastDate,Integer.valueOf(low_level),"17","1");
|
|
|
}else if("5".equals(lowCode)){
|
|
|
//糖尿病
|
|
|
yearsYear = findQuotaResultsWithLevelType1AndLevelType2(lastDate,Integer.valueOf(low_level),"17","2");
|
|
|
}else{}
|
|
|
}
|
|
|
|
|
|
Map<String, WlyyQuotaResult> resultMap = new HashMap<>();
|
|
|
yearsYear.stream().forEach(one -> {
|
|
|
if ("1".equals(low_level)) {
|
|
@ -3004,4 +3042,45 @@ public class StatisticsAllService extends BaseService {
|
|
|
}
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据父级的quato_code,查找二级数据列表
|
|
|
* @param date
|
|
|
* @param level
|
|
|
* @param index
|
|
|
* @param area
|
|
|
* @param lowCode
|
|
|
* @return
|
|
|
*/
|
|
|
public List<WlyyQuotaResult> findQuotaResultsWithLevelType2AndParentQuatoCode(String date, int Level ,int lowLevel, String index, String area,String lowCode) {
|
|
|
|
|
|
String sql = " select * from wlyy_quota_result w where w.quota_date ='" + date + "' and w.quato_code='" + index + "' and w.level1_type= '" + lowLevel +"' and w.level2_type = " + lowCode;
|
|
|
|
|
|
if(4 == Level){
|
|
|
sql += " and city='" + area + "' ";
|
|
|
}else if (3 == Level){
|
|
|
// 区、城镇级别
|
|
|
sql += " and town='" + area + "' ";
|
|
|
}else if (2 == Level){
|
|
|
// 机构级别
|
|
|
sql += " and org_code='" + area + "' ";
|
|
|
}else if (1 == Level){
|
|
|
// 团队级别
|
|
|
sql += " and qkdoctor_code ='" + area + "'";
|
|
|
}else{}
|
|
|
|
|
|
List<WlyyQuotaResult> results = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyyQuotaResult.class));
|
|
|
return results;
|
|
|
}
|
|
|
|
|
|
|
|
|
public List<WlyyQuotaResult> findQuotaResultsWithLevelType1AndLevelType2(String date, int level, String index,String lowCode) {
|
|
|
String sql = " select * from wlyy_quota_result w where " +
|
|
|
" w.quota_date ='" + date + "' and " +
|
|
|
" w.quato_code='" + index + "' and " +
|
|
|
" w.level1_type='" + level+ "' and " +
|
|
|
" w.level2_type= " + lowCode;
|
|
|
List<WlyyQuotaResult> results = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyyQuotaResult.class));
|
|
|
return results;
|
|
|
}
|
|
|
}
|