| 
					
				 | 
			
			
				@ -5,6 +5,7 @@ import com.yihu.wlyy.entity.doctor.profile.Doctor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.organization.Hospital; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.statistics.PopulationBase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.statistics.WlyyQuotaResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.address.CityDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.address.TownDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorAdminTeamDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -16,10 +17,12 @@ import com.yihu.wlyy.service.app.team.AdminTeamService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.util.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.util.MapListUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.util.SystemConf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.shiro.authc.ExcessiveAttemptsException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.redis.core.StringRedisTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.support.nativejdbc.OracleJdbc4NativeJdbcExtractor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -64,7 +67,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            date = redisTemplate.opsForValue().get("quota:date"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -99,13 +102,13 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询截止某个日期累计量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 截止日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area    区域或机构代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level   级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level2_type   level2_type的类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate     截止日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area        区域或机构代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level       级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level2_type level2_type的类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public long getTotalAmount(String endDate, String area, int level, String index,String level2_type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public long getTotalAmount(String startDate, String endDate, String area, int level, String index, String level2_type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int todayAmount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 查询语句 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -118,6 +121,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and level1_type = ? and del = '1'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date <= ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneEmpty(startDate)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and quota_date > '" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (level == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 市级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and city = ? "; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -131,8 +138,8 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and qkdoctor_code = ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNoneEmpty(level2_type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and level2_type = '"+level2_type+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneEmpty(level2_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and level2_type = '" + level2_type + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> result = jdbcTemplate.queryForMap(sql, new Object[]{level, endDate, area}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -142,7 +149,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                val = redisTemplate.opsForValue().get("quota:" + index + ":" + level + ":" + area + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -204,7 +211,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                val = redisTemplate.opsForValue().get("quota:" + index + ":" + level + ":" + area + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -231,7 +238,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level   级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getLowLevelTotalDetail(String endDate, String area, int level, String index, int sort, String lowLevel,String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getLowLevelTotalDetail(String endDate, String area, int level, String index, int sort, String lowLevel, String level2_type, String year) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaField = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String lowLevelField = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String lowLevelName = ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -283,13 +290,17 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     quato_code = '" + index + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and level1_type = ? and del = '1'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date <= ? " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = ? " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(org.apache.commons.lang3.StringUtils.isNoneEmpty(level2_type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and level2_type = '"+level2_type+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (org.apache.commons.lang3.StringUtils.isNoneEmpty(level2_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and level2_type = '" + level2_type + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //如果year有值 就按照年度来查询 即2017年 就是大于2017-06-30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!org.springframework.util.StringUtils.isEmpty(year)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and quota_date > '" + year + "-06-30' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=   " group by " + lowLevelField ;//+ "," + lowLevelName;更具名称group by会有问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " group by " + lowLevelField;//+ "," + lowLevelName;更具名称group by会有问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (sort == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " order by amount desc"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -376,7 +387,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        val = redisTemplate.opsForValue().get("quota:" + index + ":" + low_level + ":" + code + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -392,26 +403,26 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String redisNum = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        redisNum = redisTemplate.opsForValue().get("people:num:" + map.get("code").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        redisNum = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (StringUtils.isEmpty(redisNum)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        PopulationBase peopleNum = peopleNumDao.findByCodeAndYear(map.get("code").toString(), Calendar.getInstance().get(Calendar.YEAR)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (peopleNum != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getNum() * 100)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            map.put("rateString",map.get("amount")+"/"+peopleNum.getNum()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            map.put("rateString", map.get("amount") + "/" + peopleNum.getNum()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject peopleNum = new JSONObject(redisNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (peopleNum != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("num") * 100)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            map.put("rateString",map.get("amount")+"/"+ peopleNum.getInt("num")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            map.put("rateString", map.get("amount") + "/" + peopleNum.getInt("num")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (level==2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (level == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                statisticsAllService.translateTeamLeaderName(resultList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -500,8 +511,8 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date >= ? " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date <= ? " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = ? " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " group by " + lowLevelField ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //+ "," + lowLevelName; 加上名称group by会影响下面流程 团队如果改名字 数据会被覆盖 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " group by " + lowLevelField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //+ "," + lowLevelName; 加上名称group by会影响下面流程 团队如果改名字 数据会被覆盖 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (sort == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " order by amount desc"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -586,7 +597,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        val = redisTemplate.opsForValue().get("quota:" + index + ":" + low_level + ":" + code + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -631,13 +642,13 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index     指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getDateIncrementDetail(String startDate, String endDate, int interval, String area, int level, String index,String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getDateIncrementDetail(String startDate, String endDate, int interval, String area, int level, String index, String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (interval == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return dateStatistics(startDate, endDate, area, level, index,level2_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return dateStatistics(startDate, endDate, area, level, index, level2_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (interval == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return weekStatistics(startDate, endDate, area, level, index,level2_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return weekStatistics(startDate, endDate, area, level, index, level2_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (interval == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return monthStatistics(startDate, endDate, area, level, index,level2_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return monthStatistics(startDate, endDate, area, level, index, level2_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -653,7 +664,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray dateStatistics(String startDate, String endDate, String area, int level, String index,String level2_type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray dateStatistics(String startDate, String endDate, String area, int level, String index, String level2_type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaField = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -715,7 +726,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    val = redisTemplate.opsForValue().get("quota:" + index + ":" + level + ":" + area + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -743,11 +754,11 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and level1_type = '" + level + "' and del = '1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = '" + area + "' " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNotBlank(level2_type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     sql=sql + " and level2_type ='"+level2_type+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql=sql + "   group by quota_date "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = '" + area + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(level2_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = sql + " and level2_type ='" + level2_type + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = sql + "   group by quota_date "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -793,7 +804,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray weekStatistics(String startDate, String endDate, String area, int level, String index,String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray weekStatistics(String startDate, String endDate, String area, int level, String index, String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaField = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -889,7 +900,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    val = redisTemplate.opsForValue().get("quota:" + index + ":" + level + ":" + area + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -920,11 +931,11 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and level1_type = '" + level + "' and del = '1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = '" + area + "' " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNotBlank(level2_type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    sql=sql + " and level2_type ='"+level2_type+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql=sql + "   group by quota_date "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = '" + area + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(level2_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = sql + " and level2_type ='" + level2_type + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = sql + "   group by quota_date "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1002,7 +1013,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray monthStatistics(String startDate, String endDate, String area, int level, String index,String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray monthStatistics(String startDate, String endDate, String area, int level, String index, String level2_type) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaField = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1095,7 +1106,7 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    val = redisTemplate.opsForValue().get("quota:" + index + ":" + level + ":" + area + ":" + getQuotaTimeStamp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    val = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1127,10 +1138,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and quota_date <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   and " + areaField + " = '" + area + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNotBlank(level2_type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    sql=sql + " and level2_type ='"+level2_type+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql=sql + "   group by quota_date "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(level2_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = sql + " and level2_type ='" + level2_type + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = sql + "   group by quota_date "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1194,55 +1205,56 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 统计回复和未回复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingStatistics(int level ,String code)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingStatistics(int level, String code) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlTotal =  getConsultingStatisticsSQL(level,code,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlTotal = getConsultingStatisticsSQL(level, code, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取已经回复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlReply =  getConsultingStatisticsSQL(level,code,2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlReply = getConsultingStatisticsSQL(level, code, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取未回复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlnoReply =  getConsultingStatisticsSQL(level,code,3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlnoReply = getConsultingStatisticsSQL(level, code, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long total =  jdbcTemplate.queryForObject(sqlTotal,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long reply =  jdbcTemplate.queryForObject(sqlReply,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noReply =  jdbcTemplate.queryForObject(sqlnoReply,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long total = jdbcTemplate.queryForObject(sqlTotal, Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long reply = jdbcTemplate.queryForObject(sqlReply, Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noReply = jdbcTemplate.queryForObject(sqlnoReply, Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(total == null||total == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("total","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("replyCount","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("noReplyCount","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("replyRatio","0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("noReplyRatio","0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double rr = (double)reply/total*100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double nrr = (double)noReply/total*100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DecimalFormat df  = new DecimalFormat("###.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("total",total); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("replyCount",reply); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("noReplyCount",noReply); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(reply==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("replyRatio","0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("replyRatio",df.format(rr)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (total == null || total == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("total", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("replyCount", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("noReplyCount", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("replyRatio", "0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("noReplyRatio", "0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double rr = (double) reply / total * 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double nrr = (double) noReply / total * 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DecimalFormat df = new DecimalFormat("###.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("total", total); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("replyCount", reply); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("noReplyCount", noReply); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (reply == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("replyRatio", "0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("replyRatio", df.format(rr) + "%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(noReply==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("noReplyRatio","0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("noReplyRatio",df.format(nrr)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (noReply == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("noReplyRatio", "0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("noReplyRatio", df.format(nrr) + "%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getConsultingStatisticsSQL(int level,String code,int type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getConsultingStatisticsSQL(int level, String code, int type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT count(1) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM ichat.topics t,ichat.participants p," + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1253,27 +1265,27 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE t1.id = m1.team_id AND d1.CODE = m1.doctor_code "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (level == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 市级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND d1.city = "+code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND d1.city = " + code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 区、城镇级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND d1.town = "+code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND d1.town = " + code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 机构级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND d1.hospital = "+code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND d1.hospital = " + code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 机构团队级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND t1.id = "+code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND t1.id = " + code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append(" GROUP BY T1.`name`,d1. CODE) dt " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE p.participant_id = dt.`CODE` AND p.session_id = t.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND t.create_time >= DATE_SUB(NOW(),INTERVAL -1 DAY) "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(type == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (type == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //计算总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(type == 2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (type == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //计算及时回复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND t.reply = 1 "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(type == 3 ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (type == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //计算未回复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND t.reply = 0 "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1282,222 +1294,225 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 统计微信绑定率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getBindingRate(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getBindingRate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long bindCout = jdbcTemplate.queryForObject(getBindingCountSQL(),Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long signCout = jdbcTemplate.queryForObject(getSignCountSQL(),Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long bindCout = jdbcTemplate.queryForObject(getBindingCountSQL(), Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long signCout = jdbcTemplate.queryForObject(getSignCountSQL(), Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if((bindCout != null || bindCout != 0) && (signCout != null&&signCout != 0)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double rate = (double)bindCout/signCout*100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DecimalFormat df  = new DecimalFormat("###.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("bindRate",df.format(rate)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("bindRate","0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ((bindCout != null || bindCout != 0) && (signCout != null && signCout != 0)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double rate = (double) bindCout / signCout * 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DecimalFormat df = new DecimalFormat("###.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("bindRate", df.format(rate) + "%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("bindRate", "0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取绑定人数SQL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getBindingCountSQL(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getBindingCountSQL() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT COUNT(1) FROM wlyy_patient t WHERE t.openid IS NOT NULL"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return sql.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取签约数SQL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     eturn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * eturn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getSignCountSQL(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getSignCountSQL() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT COUNT(1) FROM wlyy_sign_family f WHERE f.type='2' AND f.`status`>0 AND f.expenses_status='1' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return sql.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 统计回复和未回复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingStatisticsList(int level,String area,String lowLevel)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingStatisticsList(int level, String area, String lowLevel) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //级别为市级,统计区级统计区和机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(level == 4){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (level == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(lowLevel)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(lowLevel)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(timeKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isBlank(timeKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":3:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(relyVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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:25:"+level+":"+area+":3:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(relyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(onRelyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String onRelyTotal = redisTemplate.opsForValue().get("quota:22:" + level + ":" + area + ":3:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isBlank(onRelyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONArray onRely = new JSONArray(onRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("resultList",getCoutList(rely,total,onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("resultList", getCoutList(rely, total, onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(timeKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isBlank(timeKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(relyVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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:25:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(relyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isBlank(onRelyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String onRelyTotal = redisTemplate.opsForValue().get("quota:22:" + level + ":" + area + ":2:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isBlank(onRelyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONArray onRely = new JSONArray(onRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("resultList",getCoutList(rely,total,onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("resultList", getCoutList(rely, total, onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(level == 3){//区级底下的机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 3) {//区级底下的机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //quota:23:4:350200:2:1492939333191 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(timeKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(timeKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(relyVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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:25:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(relyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyTotal = redisTemplate.opsForValue().get("quota:25:" + level + ":" + area + ":2:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(relyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray total = new JSONArray(relyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String noRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(noRelyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList", getCoutList(rely, total, noRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(level == 2){//机构级别统计,统计所有团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 2) {//机构级别统计,统计所有团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //quota:23:4:350200:2:1492939333191 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(timeKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(timeKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":1:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(relyVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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:25:"+level+":"+area+":1:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(relyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyTotal = redisTemplate.opsForValue().get("quota:25:" + level + ":" + area + ":1:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(relyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray total = new JSONArray(relyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String noRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":1:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(noRelyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String noRelyTotal = redisTemplate.opsForValue().get("quota:22:" + level + ":" + area + ":1:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(noRelyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray noRely = new JSONArray(noRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> rs = getCoutList(rely,total,noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String, Object>> rs = getCoutList(rely, total, noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            statisticsAllService.translateTeamLeaderName(rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList",rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList", rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  统计当前级别下数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 统计当前级别下数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingTitle(int level,String area){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingTitle(int level, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(timeKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(timeKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String relyVal = redisTemplate.opsForValue().get("quota:23:"+level+":"+area+":"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(relyVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String relyVal = redisTemplate.opsForValue().get("quota:23:" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(relyVal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject relyObject =new JSONObject(relyVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject relyObject = new JSONObject(relyVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray rely = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rely.put(relyObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String relyTotal = redisTemplate.opsForValue().get("quota:25:"+level+":"+area+":"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(relyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String relyTotal = redisTemplate.opsForValue().get("quota:25:" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(relyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject totalObject =new JSONObject(relyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject totalObject = new JSONObject(relyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray total = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        total.put(totalObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String onRelyTotal = redisTemplate.opsForValue().get("quota:22:"+level+":"+area+":"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(onRelyTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String onRelyTotal = redisTemplate.opsForValue().get("quota:22:" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(onRelyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject onRelyObject =new JSONObject(onRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject onRelyObject = new JSONObject(onRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray onRely = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        onRely.put(onRelyObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("result",getCoutList(rely,total,onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("result", getCoutList(rely, total, onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1505,88 +1520,89 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据总数,未回复数,回复数统计,合并结果集及排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param rely 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param onRely 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> getCoutList(JSONArray rely,JSONArray total,JSONArray onRely){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String, Object>> getCoutList(JSONArray rely, JSONArray total, JSONArray onRely) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> relyMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> onRelyMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> relyMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> onRelyMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //将List转换为Map,Key为要比较的CODE,降低循环层数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //转换回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Iterator iterator =  rely.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        while(iterator.hasNext()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = (JSONObject)iterator.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyMap.put(jsonObject.get("code").toString(),jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Iterator iterator = rely.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        while (iterator.hasNext()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = (JSONObject) iterator.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyMap.put(jsonObject.get("code").toString(), jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //转换总咨询数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Iterator iterator2 =  total.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        while(iterator2.hasNext()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = (JSONObject)iterator2.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalMap.put(jsonObject.get("code").toString(),jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Iterator iterator2 = total.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        while (iterator2.hasNext()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = (JSONObject) iterator2.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalMap.put(jsonObject.get("code").toString(), jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //转换总咨询数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Iterator iterator3 =  onRely.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        while(iterator3.hasNext()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = (JSONObject)iterator3.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onRelyMap.put(jsonObject.get("code").toString(),jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> resultMaps = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(String key : totalMap.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> rs = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject relyRs = (JSONObject)relyMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject totalRs = (JSONObject)totalMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject onRelyRs = (JSONObject)onRelyMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Iterator iterator3 = onRely.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        while (iterator3.hasNext()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = (JSONObject) iterator3.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onRelyMap.put(jsonObject.get("code").toString(), jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultMaps = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String key : totalMap.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> rs = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject relyRs = (JSONObject) relyMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject totalRs = (JSONObject) totalMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject onRelyRs = (JSONObject) onRelyMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long totalNm = totalRs.getLong("num"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long relyNm = relyRs.getLong("num"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long noRelyNm = onRelyRs.getLong("num"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("name",relyRs.get("name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("noRelyCount",noRelyNm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("relyCount",relyNm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("total",totalNm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("code",key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalNm !=null&&totalNm!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(relyNm!=null&&relyNm!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("name", relyRs.get("name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("noRelyCount", noRelyNm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("relyCount", relyNm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("total", totalNm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("code", key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalNm != null && totalNm != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (relyNm != null && relyNm != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    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>>(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Collections.sort(resultMaps, new Comparator<Map<String, Object>>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            public int compare(Map<String,Object> o1,Map<String,Object> o2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return  (double)o1.get("noRelyDoubleRate")<(double)o2.get("noRelyDoubleRate")?1:( (double)o1.get("noRelyDoubleRate")==(double)o2.get("noRelyDoubleRate")?0:-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            public int compare(Map<String, Object> o1, Map<String, Object> o2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return (double) o1.get("noRelyDoubleRate") < (double) o2.get("noRelyDoubleRate") ? 1 : ((double) o1.get("noRelyDoubleRate") == (double) o2.get("noRelyDoubleRate") ? 0 : -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1595,49 +1611,50 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取及时回复的时间分布 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getCoutListByTime(String level,String area){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getCoutListByTime(String level, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(level)&&StringUtils.isNotBlank(area)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(level) && StringUtils.isNotBlank(area)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyVal = redisTemplate.opsForValue().get("quota:24:"+level+":"+area+":"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyVal = redisTemplate.opsForValue().get("quota:24:" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray array = new JSONArray(relyVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList",array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList", array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getAVGSocre(String level,String area){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getAVGSocre(String level, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT ROUND(AVG(s.score),1) avgCount FROM wlyy_evaluate_score s ,wlyy_doctor d WHERE s.doctor = d.code "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //市级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("4".equals(level)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" AND d.city = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //区级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("3".equals(level)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" AND d.town = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("2".equals(level)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" AND d.hospital = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("4".equals(level)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " AND d.city = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //区级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if ("3".equals(level)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " AND d.town = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if ("2".equals(level)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " AND d.hospital = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> rs = jdbcTemplate.queryForMap(sql,new Object[]{area}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> rs = jdbcTemplate.queryForMap(sql, new Object[]{area}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("rs",rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("rs", rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return json; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getAVGSocreByMonth(String level ,String area,String statDate,String endDate)throws  Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getAVGSocreByMonth(String level, String area, String statDate, String endDate) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> times =  getMonthBetween(statDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(times==null||times.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> times = getMonthBetween(statDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (times == null || times.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("时间区间错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1647,38 +1664,38 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  LEFT JOIN wlyy_evaluate_score s ON s.doctor = t.doctor" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE t.czrq >=? AND t.czrq <=?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //市级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("4".equals(level)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" AND d.city = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("4".equals(level)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " AND d.city = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //区级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("3".equals(level)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" AND d.town = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if ("3".equals(level)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " AND d.town = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("2".equals(level)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" AND d.hospital = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if ("2".equals(level)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " AND d.hospital = ? "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql +=" GROUP BY mt order by mt DESC "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " GROUP BY mt order by mt DESC "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql,new Object[]{statDate,endDate,area}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(rs!=null&&rs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql, new Object[]{statDate, endDate, area}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (rs != null && rs.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> m : rs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put((String)m.get("mt"),m); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> m : rs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put((String) m.get("mt"), m); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsRs = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(String time : times){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json   = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("month",time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("socre",map.get(time)==null?0:((Map<String,Object>)map.get(time)).get("avgCount")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String time : times) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("month", time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("socre", map.get(time) == null ? 0 : ((Map<String, Object>) map.get(time)).get("avgCount")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsRs.put(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jsRs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private  List<String> getMonthBetween(String minDate, String maxDate) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private List<String> getMonthBetween(String minDate, String maxDate) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ArrayList<String> result = new ArrayList<String>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");//格式化为年月 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1700,26 +1717,26 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getAvgAllInfo(int level ,String area,String lowLevel){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getAvgAllInfo(int level, String area, String lowLevel) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String rs = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //市级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(level==4){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(lowLevel)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs = redisTemplate.opsForValue().get("quota:28:"+level+":"+area+":3:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs = redisTemplate.opsForValue().get("quota:28:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if(level ==3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs = redisTemplate.opsForValue().get("quota:28:"+level+":"+area+":2:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(level ==2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String rstemp = redisTemplate.opsForValue().get("quota:28:"+level+":"+area+":1:"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (level == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(lowLevel)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs = redisTemplate.opsForValue().get("quota:28:" + level + ":" + area + ":3:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs = redisTemplate.opsForValue().get("quota:28:" + level + ":" + area + ":2:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs = redisTemplate.opsForValue().get("quota:28:" + level + ":" + area + ":2:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String rstemp = redisTemplate.opsForValue().get("quota:28:" + level + ":" + area + ":1:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = new JSONObject(rstemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray json = jsonObject.getJSONArray("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            statisticsAllService.translateTeamLeaderName(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject rsjs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsjs.put("data",json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rsjs.put("data", json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs = rsjs.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1727,61 +1744,62 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 统计当前团队,签约人数,服务次数,平均满意度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getStatTitleInfo(String doctor,String startDate,String endDate)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getStatTitleInfo(String doctor, String startDate, String endDate) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray rs = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin =  adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(admin==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (admin == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new RuntimeException("未找到团队信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = admin.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //1.统计签约数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找团队签约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sign_sql = "SELECT COUNT(1) signCount FROM wlyy_sign_family t WHERE t.admin_team_code ="+id+" AND t.czrq >='"+startDate+"' AND t.czrq<='"+endDate+"' AND t.status =1 AND t.expenses_status ='1'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sign_sql = "SELECT COUNT(1) signCount FROM wlyy_sign_family t WHERE t.admin_team_code =" + id + " AND t.czrq >='" + startDate + "' AND t.czrq<='" + endDate + "' AND t.status =1 AND t.expenses_status ='1'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找续签表未转移的记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String renew_sql = "SELECT COUNT(1) renewCount FROM wlyy_sign_family_renew t WHERE t.admin_team_code ="+id+" AND t.czrq >='"+startDate+"' AND t.czrq<='"+endDate+"' AND t.status =1 AND t.expenses_status ='1' AND t.is_valid =0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String renew_sql = "SELECT COUNT(1) renewCount FROM wlyy_sign_family_renew t WHERE t.admin_team_code =" + id + " AND t.czrq >='" + startDate + "' AND t.czrq<='" + endDate + "' AND t.status =1 AND t.expenses_status ='1' AND t.is_valid =0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //3.平均满意度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String avg_sql="SELECT ROUND(AVG(s.score),1) avgScore FROM wlyy_consult c LEFT JOIN wlyy_evaluate_score s ON c.`code` = s.consult WHERE c.czrq>='"+startDate+"' AND c.czrq<='"+endDate+"' AND s.doctor in(select m.doctor_code from wlyy_admin_team_member m where m.team_id="+id+")"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String avg_sql = "SELECT ROUND(AVG(s.score),1) avgScore FROM wlyy_consult c LEFT JOIN wlyy_evaluate_score s ON c.`code` = s.consult WHERE c.czrq>='" + startDate + "' AND c.czrq<='" + endDate + "' AND s.doctor in(select m.doctor_code from wlyy_admin_team_member m where m.team_id=" + id + ")"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算签约表记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> signCount = jdbcTemplate.queryForMap(sign_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> signCount = jdbcTemplate.queryForMap(sign_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算续签表记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> renewCount = jdbcTemplate.queryForMap(renew_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> renewCount = jdbcTemplate.queryForMap(renew_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算签约总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long sc = (Long)signCount.get("signCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long rc = (Long)renewCount.get("renewCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long sc = (Long) signCount.get("signCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long rc = (Long) renewCount.get("renewCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject signTotal =new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signTotal.put("signTotal",sc+rc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject signTotal = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signTotal.put("signTotal", sc + rc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(signTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取咨詢數 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> consultCout= getConsultByteam(id ,startDate ,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> consultCout = getConsultByteam(id, startDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(consultCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取待预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> reservationCout = getReservationByteam(id ,startDate ,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> reservationCout = getReservationByteam(id, startDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(reservationCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取健康教育 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> articleCout= getEduArticleByTeam(id,startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> articleCout = getEduArticleByTeam(id, startDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(articleCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取健康指导 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> guidanceCout= getGuidanceByTeam(id,startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> guidanceCout = getGuidanceByTeam(id, startDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(guidanceCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //随访数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> followupCout= getArticleByTeam(id,startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> followupCout = getArticleByTeam(id, startDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(followupCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //平均满意度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> avgCout= jdbcTemplate.queryForMap(avg_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(avgCout.get("avgScore")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            avgCout.put("avgScore",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> avgCout = jdbcTemplate.queryForMap(avg_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (avgCout.get("avgScore") == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            avgCout.put("avgScore", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put(avgCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1791,94 +1809,96 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询签约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 0 按周,1 按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type      0 按周,1 按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getSignCountLineByType(String doctor,String type,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getSignCountLineByType(String doctor, String type, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin =  adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(admin==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (admin == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new RuntimeException("未找到团队信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = admin.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //按周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sql = "SELECT left(f.apply_date,10) as applyDate,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " FROM wlyy_sign_family f " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " where f.apply_date >='"+startDate+" 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " AND f.apply_date<='"+endDate+" 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " AND f.status >0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " AND f.expenses_status='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " AND f.admin_team_code="+id+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   " GROUP BY left(f.apply_date,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql ="SELECT (DATE_FORMAT(f.apply_date,'%v')-DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"','%v')+1) as weekOfMonth,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT left(f.apply_date,10) as applyDate,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM wlyy_sign_family f " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='" + startDate + " 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='" + endDate + " 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.status >0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.expenses_status='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code=" + id + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY left(f.apply_date,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT (DATE_FORMAT(f.apply_date,'%v')-DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "','%v')+1) as weekOfMonth,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM wlyy_sign_family f " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='"+startDate+" 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='"+endDate+" 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='" + startDate + " 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='" + endDate + " 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.status >0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.expenses_status='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code="+id+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code=" + id + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY DATE_FORMAT(f.apply_date,'%m %v')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray rsJs = new JSONArray(rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rsJs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询续签约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 0 按周,1 按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type      0 按周,1 按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getRenewCountLineByType(String doctor,String type,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getRenewCountLineByType(String doctor, String type, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin =  adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(admin==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (admin == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new RuntimeException("未找到团队信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = admin.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //按周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT left(f.apply_date,10) as applyDate,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM wlyy_sign_family_renew f " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='"+startDate+" 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='"+endDate+" 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='" + startDate + " 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='" + endDate + " 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.status >0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.expenses_status='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code="+id+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code=" + id + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY left(f.apply_date,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql ="SELECT (DATE_FORMAT(f.apply_date,'%v')-DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"','%v')+1) as weekOfMonth,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT (DATE_FORMAT(f.apply_date,'%v')-DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "','%v')+1) as weekOfMonth,count(1) as signCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM wlyy_sign_family_renew f " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='"+startDate+" 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='"+endDate+" 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where f.apply_date >='" + startDate + " 00:00:00' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.apply_date<='" + endDate + " 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.status >0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.expenses_status='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code="+id+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND f.admin_team_code=" + id + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY DATE_FORMAT(f.apply_date,'%m %v')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray rsJs = new JSONArray(rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rsJs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getReyStatbyTeam(String doctor,String startDate,String endDate,String isNow){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin =  adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(admin==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getReyStatbyTeam(String doctor, String startDate, String endDate, String isNow) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (admin == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new RuntimeException("未找到团队信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = admin.getId(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1886,81 +1906,81 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String noRelysql = "SELECT q.result FROM wlyy_quota_result q " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE q.quato_code ='22' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.level1_type ='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.quota_date ='"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.qkdoctor_code ='"+id+"';"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.quota_date ='" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.qkdoctor_code ='" + id + "';"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找起始时间咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalsql = "SELECT q.result FROM wlyy_quota_result q " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE q.quato_code ='25' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.level1_type ='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.quota_date ='"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.qkdoctor_code ='"+id+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.quota_date ='" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND q.qkdoctor_code ='" + id + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> noRelyList = jdbcTemplate.queryForList(noRelysql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noRelystartCount =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> noRelyList = jdbcTemplate.queryForList(noRelysql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noRelystartCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long totalstartCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(noRelyList!=null&&noRelyList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> noRelyMap =noRelyList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noRelystartCount = Long.parseLong((String)noRelyMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (noRelyList != null && noRelyList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> noRelyMap = noRelyList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noRelystartCount = Long.parseLong((String) noRelyMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> totalMap =totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalstartCount = Long.parseLong((String)totalMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> totalMap = totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalstartCount = Long.parseLong((String) totalMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noRelyEndCount =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long totalEndCount =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("1".equals(isNow)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noRelyEndCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long totalEndCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("1".equals(isNow)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //当前时间获取未回复咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String noReyVal = redisTemplate.opsForValue().get("quota:22:1:"+id+":"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(noReyVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String noReyVal = redisTemplate.opsForValue().get("quota:22:1:" + id + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(noReyVal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new RuntimeException("未找到截止日期数据"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject nr = new JSONObject(noReyVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noRelyEndCount = nr.getLong("num"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //获取当前时间咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String totalVal = redisTemplate.opsForValue().get("quota:25:1:"+id+":"+timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(totalVal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String totalVal = redisTemplate.opsForValue().get("quota:25:1:" + id + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(totalVal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new RuntimeException("未找到截止日期数据"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject tr = new JSONObject(totalVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalEndCount = tr.getLong("num"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查找结束时间未回复总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String noRelyEndsql = "SELECT q.result FROM wlyy_quota_result q " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE q.quato_code ='22' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.level1_type ='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.quota_date ='"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.qkdoctor_code ='"+id+"';"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.quota_date ='" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.qkdoctor_code ='" + id + "';"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查找结束时间咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String totalEndsql = "SELECT q.result FROM wlyy_quota_result q " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE q.quato_code ='25' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.level1_type ='1' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.quota_date ='"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.qkdoctor_code ='"+id+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> noRelyEndList = jdbcTemplate.queryForList(noRelyEndsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(noRelyEndList!=null&&noRelyEndList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String,Object> noRelyEndMap = noRelyEndList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                noRelyEndCount = Long.parseLong((String)noRelyEndMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.quota_date ='" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND q.qkdoctor_code ='" + id + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String, Object>> noRelyEndList = jdbcTemplate.queryForList(noRelyEndsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (noRelyEndList != null && noRelyEndList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String, Object> noRelyEndMap = noRelyEndList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                noRelyEndCount = Long.parseLong((String) noRelyEndMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> totalEndList = jdbcTemplate.queryForList(totalEndsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalEndList!=null&&totalEndList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String,Object> totalEndMap = totalEndList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalEndCount = Long.parseLong((String)totalEndMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String, Object>> totalEndList = jdbcTemplate.queryForList(totalEndsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalEndList != null && totalEndList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String, Object> totalEndMap = totalEndList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalEndCount = Long.parseLong((String) totalEndMap.get("result")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("onReyCount",noRelyEndCount-noRelystartCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalCount",totalEndCount-totalstartCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("onReyCount", noRelyEndCount - noRelystartCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalCount", totalEndCount - totalstartCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getServiceRankingList(String doctor ,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getServiceRankingList(String doctor, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin =  adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(admin==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (admin == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new RuntimeException("未找到团队信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = admin.getId(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1974,48 +1994,48 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   FROM (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       SELECT COUNT(1) AS count,w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       FROM wlyy_consult_team  w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       WHERE w.czrq>='"+startDate+" 00:00:00' AND w.czrq <='"+endDate+" 23:59:59' AND w.admin_team_code IN( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       WHERE w.czrq>='" + startDate + " 00:00:00' AND w.czrq <='" + endDate + " 23:59:59' AND w.admin_team_code IN( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       m.id FROM wlyy_admin_team m " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       WHERE m.org_code ='"+orgcode+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       WHERE m.org_code ='" + orgcode + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "       ) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   GROUP BY w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ORDER BY count DESC " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   )t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   (SELECT(@rowNum := 0)) b " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE s.admin_team_code ="+id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> crc = jdbcTemplate.queryForList(crc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(crc!=null&&crc.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE s.admin_team_code =" + id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> crc = jdbcTemplate.queryForList(crc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (crc != null && crc.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(crc.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("consultRK",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("consultRK", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //随访量排行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String frc_sql ="SELECT s.rowno AS followupRK FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String frc_sql = "SELECT s.rowno AS followupRK FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " select (@rowNum :=@rowNum + 1) AS rowno,t.count,t.admin_team_code  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " from ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT COUNT(1) AS count,w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM wlyy_followup  w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE w.org_code = '"+orgcode+"'  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE w.org_code = '" + orgcode + "'  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.admin_team_code IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >='"+startDate+" 00:00:00' AND w.create_time <='"+endDate+" 23:59:59'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >='" + startDate + " 00:00:00' AND w.create_time <='" + endDate + " 23:59:59'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY w.admin_team_code  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ORDER BY count DESC " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " (SELECT(@rowNum := 0)) b " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ") s  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code ="+id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> frc = jdbcTemplate.queryForList(frc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(frc!=null&&frc.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code =" + id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> frc = jdbcTemplate.queryForList(frc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (frc != null && frc.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(frc.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("followupRK",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("followupRK", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //待预约量排行 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2025,73 +2045,73 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   FROM ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   SELECT COUNT(1) AS reservationCount,w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   FROM wlyy_patient_reservation  w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   WHERE w.czrq>='"+startDate+" 00:00:00' AND w.czrq <='"+endDate+" 23:59:59' AND " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   w.org_code ='"+orgcode+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   WHERE w.czrq>='" + startDate + " 00:00:00' AND w.czrq <='" + endDate + " 23:59:59' AND " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   w.org_code ='" + orgcode + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND w.doctor is not null " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND w.admin_team_code IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   GROUP BY w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ORDER BY reservationCount DESC " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ) t,(SELECT(@rowNum := 0)) b " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ") s  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code ="+id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> resrc = jdbcTemplate.queryForList(resrc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(resrc!=null&&resrc.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code =" + id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resrc = jdbcTemplate.queryForList(resrc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (resrc != null && resrc.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(resrc.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("reservationRK",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("reservationRK", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //健康指导排行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String grc_sql ="SELECT s.rowno AS guidanceRK FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String grc_sql = "SELECT s.rowno AS guidanceRK FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT (@rowNum :=@rowNum + 1) AS rowno,t.count,t.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT COUNT(1) AS count,w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE w.czrq>='"+startDate+" 00:00:00' AND w.czrq <='"+endDate+" 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE w.czrq>='" + startDate + " 00:00:00' AND w.czrq <='" + endDate + " 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND  w.admin_team_code IN( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT m.id FROM wlyy_admin_team m" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   WHERE m.org_code ='"+orgcode+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   WHERE m.org_code ='" + orgcode + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ORDER BY count DESC " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ) t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "(SELECT(@rowNum := 0)) b " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code ="+id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> grc = jdbcTemplate.queryForList(grc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(grc!=null&&grc.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code =" + id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> grc = jdbcTemplate.queryForList(grc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (grc != null && grc.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(grc.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("guidanceRK",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("guidanceRK", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //健康教育排行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String edurc_sql ="SELECT s.rowno AS articleRK FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String edurc_sql = "SELECT s.rowno AS articleRK FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT (@rowNum :=@rowNum + 1) AS rowno,t.count,t.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT COUNT(1) AS count,w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE w.czrq>='"+startDate+" 00:00:00' AND w.czrq <='"+endDate+" 23:59:59' AND " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE w.czrq>='" + startDate + " 00:00:00' AND w.czrq <='" + endDate + " 23:59:59' AND " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code IN(" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " SELECT m.id FROM wlyy_admin_team m " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE m.org_code ='"+orgcode+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE m.org_code ='" + orgcode + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   GROUP BY w.admin_team_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   ORDER BY count DESC " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ") t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "(SELECT(@rowNum := 0)) b" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ") s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code ="+id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> edurc = jdbcTemplate.queryForList(edurc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(edurc!=null&&edurc.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE s.admin_team_code =" + id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> edurc = jdbcTemplate.queryForList(edurc_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (edurc != null && edurc.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(edurc.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("articleRK",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("articleRK", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2099,113 +2119,125 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取咨询数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getConsultByteam(Long id ,String startDate ,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> getConsultByteam(Long id, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //咨询量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String consult_sql = "SELECT COUNT(1) AS consultCount FROM wlyy_consult_team t WHERE t.admin_team_code = "+id+" AND t.czrq <='"+endDate+"' AND t.czrq >='"+startDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String consult_sql = "SELECT COUNT(1) AS consultCount FROM wlyy_consult_team t WHERE t.admin_team_code = " + id + " AND t.czrq <='" + endDate + "' AND t.czrq >='" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取咨詢數 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> consultCout= jdbcTemplate.queryForMap(consult_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(consultCout.get("consultCount")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            consultCout.put("consultCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> consultCout = jdbcTemplate.queryForMap(consult_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (consultCout.get("consultCount") == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            consultCout.put("consultCount", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return consultCout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getReservationByteam(Long id ,String startDate ,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> getReservationByteam(Long id, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取待预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String reservation_sql = "SELECT COUNT(1) AS reservationCount FROM wlyy_patient_reservation  w WHERE w.admin_team_code ="+id+" AND w.czrq <='"+endDate+"' AND w.czrq >='"+startDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String reservation_sql = "SELECT COUNT(1) AS reservationCount FROM wlyy_patient_reservation  w WHERE w.admin_team_code =" + id + " AND w.czrq <='" + endDate + "' AND w.czrq >='" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取待预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> reservationCout= jdbcTemplate.queryForMap(reservation_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(reservationCout.get("reservationCount")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reservationCout.put("reservationCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> reservationCout = jdbcTemplate.queryForMap(reservation_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (reservationCout.get("reservationCount") == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reservationCout.put("reservationCount", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return reservationCout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getEduArticleByTeam(Long id ,String startDate ,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> getEduArticleByTeam(Long id, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取健康教育 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String article_sql = "SELECT COUNT(1) AS articleCount FROM wlyy_health_edu_article_patient w WHERE  w.admin_team_code ="+id+" AND w.czrq <='"+endDate+"' AND w.czrq >='"+startDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String article_sql = "SELECT COUNT(1) AS articleCount FROM wlyy_health_edu_article_patient w WHERE  w.admin_team_code =" + id + " AND w.czrq <='" + endDate + "' AND w.czrq >='" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取健康教育 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> articleCout= jdbcTemplate.queryForMap(article_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(articleCout.get("articleCount")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            articleCout.put("articleCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> articleCout = jdbcTemplate.queryForMap(article_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (articleCout.get("articleCount") == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            articleCout.put("articleCount", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return articleCout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getGuidanceByTeam(Long id ,String startDate ,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> getGuidanceByTeam(Long id, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取健康指导 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String guidance_sql = "SELECT COUNT(1) AS guidanceCount  FROM wlyy_patient_health_guidance w WHERE w.admin_team_code ="+id+" AND w.czrq <='"+endDate+"' AND w.czrq >='"+startDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String guidance_sql = "SELECT COUNT(1) AS guidanceCount  FROM wlyy_patient_health_guidance w WHERE w.admin_team_code =" + id + " AND w.czrq <='" + endDate + "' AND w.czrq >='" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取健康指导 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> guidanceCout= jdbcTemplate.queryForMap(guidance_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(guidanceCout.get("guidanceCount")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            guidanceCout.put("guidanceCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> guidanceCout = jdbcTemplate.queryForMap(guidance_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (guidanceCout.get("guidanceCount") == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            guidanceCout.put("guidanceCount", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return guidanceCout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getArticleByTeam(Long id ,String startDate ,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> getArticleByTeam(Long id, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //随访数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String followup_sql ="SELECT COUNT(1) AS followupCount from wlyy_followup w WHERE w.admin_team_code="+id+" AND  w.create_time >='"+startDate+"' AND w.create_time<='"+endDate+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String followup_sql = "SELECT COUNT(1) AS followupCount from wlyy_followup w WHERE w.admin_team_code=" + id + " AND  w.create_time >='" + startDate + "' AND w.create_time<='" + endDate + "' AND w.followup_class IS NOT NULL "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //随访数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> followupCout= jdbcTemplate.queryForMap(followup_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(followupCout.get("followupCount")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            followupCout.put("followupCount",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> followupCout = jdbcTemplate.queryForMap(followup_sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (followupCout.get("followupCount") == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            followupCout.put("followupCount", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return followupCout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /*** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取平均折线图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 0 周,1月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type      0 周,1月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getAvgLine(String doctor,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getAvgLine(String doctor, String startDate, String endDate, String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin =  adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(admin==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam admin = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (admin == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new RuntimeException("未找到团队信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long id = admin.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //周计算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT DATE_FORMAT(t.czrq,'%Y-%m-%d') AS dateNo,ifnull(ROUND(AVG(s.score),1),0)  as avgCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "    FROM  wlyy_consult_team t" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "    LEFT JOIN wlyy_doctor d ON d.code = t.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "    LEFT JOIN wlyy_evaluate_score s ON s.doctor = t.doctor  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE t.czrq <='"+endDate+"' AND t.czrq >='"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.admin_team_code =" +id+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE t.czrq <='" + endDate + "' AND t.czrq >='" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.admin_team_code =" + id + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT (DATE_FORMAT(t.czrq,'%v')-DATE_FORMAT('"+startDate+"','%v')+1) AS weekNo,ifnull(ROUND(AVG(s.score),1),0)  as avgCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT (DATE_FORMAT(t.czrq,'%v')-DATE_FORMAT('" + startDate + "','%v')+1) AS weekNo,ifnull(ROUND(AVG(s.score),1),0)  as avgCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "    FROM  wlyy_consult_team t " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "    LEFT JOIN wlyy_doctor d ON d.code = t.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "    LEFT JOIN wlyy_evaluate_score s ON s.doctor = t.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE t.czrq <='"+endDate+"' AND t.czrq >='"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.admin_team_code =" +id+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE t.czrq <='" + endDate + "' AND t.czrq >='" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.admin_team_code =" + id + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray js = new JSONArray(rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return js; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject checkDoctorIsTeamleader(String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject checkDoctorIsTeamleader(String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        AdminTeam team = adminTeamDao.findByLeaderCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(team!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (team != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONObject(team); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2213,36 +2245,37 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取团队月或周咨询未回复和总数折线图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param teamCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 0周,1月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type      0周,1月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamConsultCount(String teamCode,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamConsultCount(String teamCode, String startDate, String endDate, String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String imDataBaseName = SystemConf.getInstance().getImDataBaseName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(a.czrq,10) AS dateNo,count(1) AS noRely " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code ="+teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2250,57 +2283,57 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t. STATUS <> 10 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.`reply` = 0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY left(a.czrq,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(a.czrq,10) AS dateNo,count(1) AS total " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code ="+teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY left(a.czrq,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  COUNT(1) AS noRely" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2308,83 +2341,84 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t. STATUS <> 10 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.`reply` = 0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%m %v')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  COUNT(1) AS total" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%m %v')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> noReyList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> noReyList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("noReyList",noReyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("totalList",totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("noReyList", noReyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("totalList", totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  计算团队医生月或周咨询未回复和总数折线图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 计算团队医生月或周咨询未回复和总数折线图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param teamCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctor 医生code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctor    医生code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorConsultCount(String teamCode,String startDate,String endDate,String type,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorConsultCount(String teamCode, String startDate, String endDate, String type, String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String imDataBaseName = SystemConf.getInstance().getImDataBaseName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(a.czrq,10) AS dateNo,count(1) AS noRely " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code ="+teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2392,59 +2426,59 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t. STATUS <> 10 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.`reply` = 0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY left(a.czrq,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(a.czrq,10) AS dateNo,count(1) AS total " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code ="+teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY left(a.czrq,10)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  COUNT(1) AS noRely" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2452,64 +2486,65 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t. STATUS <> 10 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.`reply` = 0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%m %v')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  COUNT(1) AS total" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_consult_team a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND a.consult IN (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " SELECT DISTINCT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " t.id consultId " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".topics t," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".participants p," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '"+endDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '"+startDate+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time <= '" + endDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND t.create_time >= '" + startDate + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND d.id = '" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " )" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " DATE_FORMAT(a.czrq, '%m %v')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> noReyList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> noReyList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("noReyList",noReyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("totalList",totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("noReyList", noReyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("totalList", totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取团队咨询情况列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param teamCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sort 0降序 1升续 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sort      0降序 1升续 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getMemberConsultList(String teamCode,String startDate,String endDate,String sort,String sortType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getMemberConsultList(String teamCode, String startDate, String endDate, String sort, String sortType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String imDataBaseName = SystemConf.getInstance().getImDataBaseName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 未回复咨询总量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String onReySQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.doctor_code AS doctorCode, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2528,10 +2563,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id consultId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2539,12 +2574,12 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t. STATUS <> 10 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.`reply` = 0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) r ON r.doctorCode = t.doctor_code, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2552,15 +2587,15 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.doctor_code = d.`code` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.team_id = "+teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onReySQL = onReySQL+ " ORDER BY noRely DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onReySQL = onReySQL+ " ORDER BY noRely ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.team_id = " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onReySQL = onReySQL + " ORDER BY noRely DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onReySQL = onReySQL + " ORDER BY noRely ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //总咨询量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.doctor_code AS doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`name`, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(r.total,0) AS total " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2577,21 +2612,21 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id consultId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ") r ON r.doctorCode = t.doctor_code, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2599,15 +2634,15 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.doctor_code = d.`code` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND t.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND t.team_id =  "+teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql+ " ORDER BY total DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql+ " ORDER BY total ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND t.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql + " ORDER BY total DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql + " ORDER BY total ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //结束咨询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String endConsultSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String endConsultSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.doctor_code doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`name`, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(r.endRey,0) AS endRey " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2624,22 +2659,22 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id consultId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t. STATUS = 10 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ") r ON r.doctorCode = t.doctor_code, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2647,101 +2682,101 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.doctor_code = d.`code` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.team_id = "+teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            endConsultSql = endConsultSql+ " ORDER BY endRey DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            endConsultSql = endConsultSql+ " ORDER BY endRey ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.team_id = " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            endConsultSql = endConsultSql + " ORDER BY endRey DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            endConsultSql = endConsultSql + " ORDER BY endRey ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> onReyList = jdbcTemplate.queryForList(onReySQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> onReyMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> onReyList = jdbcTemplate.queryForList(onReySQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> onReyMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //将List转换为Map降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(onReyList!=null&&onReyList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> list :onReyList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)list.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                onReyMap.put(code,list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (onReyList != null && onReyList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> list : onReyList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) list.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                onReyMap.put(code, list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //将List转换为Map降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> list :totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)list.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code,list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> list : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) list.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code, list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> endConsultList = jdbcTemplate.queryForList(endConsultSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> endConsultList = jdbcTemplate.queryForList(endConsultSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //将List转换为Map降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> endConsultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> endConsultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //将List转换为Map降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(endConsultList!=null&&endConsultList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> list :endConsultList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)list.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                endConsultMap.put(code,list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (endConsultList != null && endConsultList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> list : endConsultList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) list.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                endConsultMap.put(code, list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(onReyList!=null&&onReyList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map :onReyList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (onReyList != null && onReyList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : onReyList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> t = ( Map<String,Object>)totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long totalCout = (Long)t.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("total",totalCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> t = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long totalCout = (Long) t.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("total", totalCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> e =( Map<String,Object>)endConsultMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long endCout = (Long)e.get("endRey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("endRey",endCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> e = (Map<String, Object>) endConsultMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long endCout = (Long) e.get("endRey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("endRey", endCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(onReyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("1".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if ("1".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map :totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> t = ( Map<String,Object>)onReyMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long noRely = (Long)t.get("noRely"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("noRely",noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> t = (Map<String, Object>) onReyMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long noRely = (Long) t.get("noRely"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("noRely", noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> e =( Map<String,Object>)endConsultMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long endCout = (Long)e.get("endRey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("endRey",endCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> e = (Map<String, Object>) endConsultMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long endCout = (Long) e.get("endRey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("endRey", endCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //结束咨询数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(endConsultList!=null&&endConsultList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map :endConsultList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (endConsultList != null && endConsultList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : endConsultList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> t = ( Map<String,Object>)totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long totalCout = (Long)t.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("total",totalCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> t = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long totalCout = (Long) t.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("total", totalCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> r = ( Map<String,Object>)onReyMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long noRely = (Long)r.get("noRely"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("noRely",noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> r = (Map<String, Object>) onReyMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long noRely = (Long) r.get("noRely"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    map.put("noRely", noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(endConsultList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getDoctorConsultTitle(String doctor,String teamCode,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getDoctorConsultTitle(String doctor, String teamCode, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String imDataBaseName = SystemConf.getInstance().getImDataBaseName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String couTotalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2753,25 +2788,25 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id consultId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND d.id='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND d.id='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code = " +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String reyTotalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String reyTotalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " count(1) AS total " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2781,10 +2816,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id consultId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2792,16 +2827,16 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND s.business_type=2  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.`reply`=1  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND TIMESTAMPDIFF(SECOND ,t.create_time ,t.reply_time) <86400 AND TIMESTAMPDIFF(SECOND ,t.create_time,t.reply_time) >0 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND d.id='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND d.id='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " c.doctorCode"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //本周或月增量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addTotalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addTotalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  c.doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  count(1) AS total " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2811,26 +2846,26 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " t.id consultId," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.session_id = p.session_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.session_id = s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND s.type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND d.id='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND d.id='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  ) c " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  c.doctorCode"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //当前未回复咨询数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String noRelySql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String noRelySql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  c.doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  count(1) AS total " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2840,10 +2875,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    t.id consultId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    d.id doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    "+imDataBaseName+".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".topics t, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".participants p, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".doctors d, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    " + imDataBaseName + ".sessions s " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    p.participant_id = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.session_id = p.session_id " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2851,198 +2886,198 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND s.type = 1  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t. STATUS <> 10  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.`reply` = 0  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND d.id='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND t.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   AND d.id='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  ) c " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  c.consultId = a.consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND a.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  AND a.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  c.doctorCode"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long total =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long relyOnTime =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long total = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long relyOnTime = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long addNumber = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noRelyNumber =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> couTotal = jdbcTemplate.queryForList(couTotalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(couTotal!=null&&couTotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> couTotalMap = couTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = (Long) couTotalMap.get("total")==null?0L:(Long) couTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("total",total); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> reyTotal = jdbcTemplate.queryForList(reyTotalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(reyTotal!=null&&reyTotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> reyTotalMap = reyTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyOnTime = (Long) reyTotalMap.get("total")==null?0L:(Long) reyTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(total!=0L&&relyOnTime!=0L){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double rr = (double)relyOnTime/total*100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double nrr = (double)relyOnTime/total*100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DecimalFormat df  = new DecimalFormat("###.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("relyOnTimeRate",df.format(nrr)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("relyOnTimeRate","0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long noRelyNumber = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> couTotal = jdbcTemplate.queryForList(couTotalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (couTotal != null && couTotal.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> couTotalMap = couTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            total = (Long) couTotalMap.get("total") == null ? 0L : (Long) couTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("total", total); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> reyTotal = jdbcTemplate.queryForList(reyTotalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (reyTotal != null && reyTotal.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> reyTotalMap = reyTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyOnTime = (Long) reyTotalMap.get("total") == null ? 0L : (Long) reyTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (total != 0L && relyOnTime != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double rr = (double) relyOnTime / total * 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            double nrr = (double) relyOnTime / total * 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DecimalFormat df = new DecimalFormat("###.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("relyOnTimeRate", df.format(nrr) + "%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("relyOnTimeRate", "0.00%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addTotal = jdbcTemplate.queryForList(addTotalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addTotal!=null&&addTotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> addTotalMap = addTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addNumber = (Long) addTotalMap.get("total")==null?0L:(Long) addTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addTotal = jdbcTemplate.queryForList(addTotalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addTotal != null && addTotal.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> addTotalMap = addTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addNumber = (Long) addTotalMap.get("total") == null ? 0L : (Long) addTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //本周或月增量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addNumber",addNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addNumber", addNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> noRelyTotal = jdbcTemplate.queryForList(noRelySql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(noRelyTotal!=null&&noRelyTotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> noRelyTotalMap = noRelyTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noRelyNumber = (Long) noRelyTotalMap.get("total")==null?0L:(Long) noRelyTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> noRelyTotal = jdbcTemplate.queryForList(noRelySql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (noRelyTotal != null && noRelyTotal.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> noRelyTotalMap = noRelyTotal.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            noRelyNumber = (Long) noRelyTotalMap.get("total") == null ? 0L : (Long) noRelyTotalMap.get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("noRelyNumber",noRelyNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("noRelyNumber", noRelyNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorFollowupLine(String teamCode,String startDate,String endDate,String type,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String planSQL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorFollowupLine(String teamCode, String startDate, String endDate, String type, String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String planSQL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.create_time,10) AS dateNo,COUNT(1) AS followupCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.create_time,10) AS dateNo,COUNT(1) AS planCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS followupCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS planCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> planList = jdbcTemplate.queryForList(planSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> planList = jdbcTemplate.queryForList(planSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalLine",totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("planLine",planList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalLine", totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("planLine", planList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamFollowupLine(String teamCode,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String planSQL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamFollowupLine(String teamCode, String startDate, String endDate, String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String planSQL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.create_time,10) AS dateNo,COUNT(1) AS followupCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS planCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS followupCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.create_time, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS followupCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.status ='2'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> planList = jdbcTemplate.queryForList(planSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> planList = jdbcTemplate.queryForList(planSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalLine",totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("planLine",planList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalLine", totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("planLine", planList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getDoctorTeamFolList(String startDate,String endDate,String teamCode,String sort,String sortType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getDoctorTeamFolList(String startDate, String endDate, String teamCode, String sort, String sortType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.followupCount,0) AS followupCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`code` AS doctorCode, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3057,9 +3092,9 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  w.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctor_code =m.doctor_code, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3067,11 +3102,11 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =" +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL =totalSQL+" ORDER BY followupCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL =totalSQL+" ORDER BY followupCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =" + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL = totalSQL + " ORDER BY followupCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSQL = totalSQL + " ORDER BY followupCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSQL = "SELECT " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3088,10 +3123,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  w.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctor_code =m.doctor_code, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3099,11 +3134,11 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =" +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSQL =addSQL+" ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSQL =addSQL+" ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =" + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSQL = addSQL + " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSQL = addSQL + " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String planSQL = "SELECT " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3120,11 +3155,11 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.status ='2'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.status ='2'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.followup_class IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  w.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctor_code =m.doctor_code, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3132,117 +3167,117 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =" +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL =planSQL+" ORDER BY planCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL =planSQL+" ORDER BY planCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =" + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL = planSQL + " ORDER BY planCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planSQL = planSQL + " ORDER BY planCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map:totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList= jdbcTemplate.queryForList(addSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map:addList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> planList = jdbcTemplate.queryForList(planSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> planList = jdbcTemplate.queryForList(planSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //降低循环层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> planMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planList!=null&&planList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map:planList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                planMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> planMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (planList != null && planList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : planList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                planMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按总数排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //以总数为基准,合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String ,Object> map : totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> m =(Map<String,Object>)addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(m!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long addCount = (Long)m.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount",addCount==null?0L:addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount",0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long addCount = (Long) m.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount", addCount == null ? 0L : addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount", 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> m2 =(Map<String,Object>)planMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(m2!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long planCount = (Long)m2.get("planCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount",planCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount",0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m2 = (Map<String, Object>) planMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m2 != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long planCount = (Long) m2.get("planCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount", planCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount", 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("1".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if ("1".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按增量排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //以增量为基准,合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String ,Object> map : addList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> m =(Map<String,Object>)planMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(m!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long planCount = (Long)m.get("planCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount",planCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount",0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) planMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long planCount = (Long) m.get("planCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount", planCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("planCount", 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> m2 =(Map<String,Object>)totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(m2!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long followupCount = (Long)m2.get("followupCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount",followupCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount",0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m2 = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m2 != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long followupCount = (Long) m2.get("followupCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount", followupCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount", 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(addList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按计划量排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(planList!=null&&planList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (planList != null && planList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //以增量为基准,合并结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String ,Object> map : planList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : planList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> m =(Map<String,Object>)totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(m!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long followupCount = (Long)m.get("followupCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount",followupCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount",0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long followupCount = (Long) m.get("followupCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount", followupCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("followupCount", 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> m2 =(Map<String,Object>)addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(m2!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long addCount = (Long)m2.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount",addCount==null?0L:addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount",0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m2 = (Map<String, Object>) addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m2 != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Long addCount = (Long) m2.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount", addCount == null ? 0L : addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put("addCount", 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3250,136 +3285,136 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorFolTitle(String teamCode,String doctor,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorFolTitle(String teamCode, String doctor, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS followupCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.followup_class IS NOT NULL"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS addCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.followup_class IS NOT NULL"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String planSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS planCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_followup w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.status ='2'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.create_time <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.status ='2'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.followup_class IS NOT NULL"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long followupCount = (Long)map.get("followupCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("followupCount",followupCount!=null?followupCount:0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = addList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long addCount = (Long)map.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("addCount",addCount!=null?addCount:0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> planList = jdbcTemplate.queryForList(planSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planList!=null&&planList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = planList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long planCount = (Long)map.get("planCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("planCount",planCount!=null?planCount:0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long followupCount = (Long) map.get("followupCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("followupCount", followupCount != null ? followupCount : 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = addList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long addCount = (Long) map.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("addCount", addCount != null ? addCount : 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> planList = jdbcTemplate.queryForList(planSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (planList != null && planList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = planList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Long planCount = (Long) map.get("planCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            rs.put("planCount", planCount != null ? planCount : 0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamResLine(String teamCode,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamResLine(String teamCode, String startDate, String endDate, String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.czrq,10) AS dateNo,COUNT(1) AS reservationCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS reservationCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> list = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorResLine(String teamCode,String startDate,String endDate,String type,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorResLine(String teamCode, String startDate, String endDate, String type, String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.czrq,10) AS dateNo,COUNT(1) AS reservationCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code = '"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code = '" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('"+DateUtil.getFristDayOfMonth()+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('" + DateUtil.getFristDayOfMonth() + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS reservationCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code = '"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor_code = '" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> list = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorResList(String teamCode,String startDate,String endDate,String sort,String sortType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorResList(String teamCode, String startDate, String endDate, String sort, String sortType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.reservationCount,0) AS reservationCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`code` AS doctorCode, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3394,19 +3429,19 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY doctorCode  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctorCode =m.doctor_code, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_doctor d " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql+  " ORDER BY reservationCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql+  " ORDER BY reservationCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql + " ORDER BY reservationCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql + " ORDER BY reservationCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.reservationCount,0) AS addCount, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3422,42 +3457,42 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY doctorCode  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctorCode =m.doctor_code, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_doctor d " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql+  " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql+  " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql + " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql + " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList =jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map :totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map :addList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按总数排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map:totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3469,10 +3504,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按增量排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map:addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3487,125 +3522,125 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorResTitle(String teamCode,String doctor,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorResTitle(String teamCode, String doctor, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS reservationCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS addCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_reservation w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='"+doctor+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+startDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor_code ='" + doctor + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long reservationCount =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long reservationCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long addCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map =totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reservationCount = (Long)map.get("reservationCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reservationCount = (Long) map.get("reservationCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("reservationCount",reservationCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("reservationCount", reservationCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList = jdbcTemplate.queryForList(addSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map =addList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addCount = (Long)map.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = addList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addCount = (Long) map.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addCount",addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addCount", addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamGuidLine(String teamCode,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamGuidLine(String teamCode, String startDate, String endDate, String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String SQL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String SQL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.create_time,10) AS dateNo, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " COUNT(1) AS guidanceCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('"+startDate+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('" + startDate + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " COUNT(1) AS guidanceCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(SQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(SQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorGuidLine(String teamCode,String startDate,String endDate,String type,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorGuidLine(String teamCode, String startDate, String endDate, String type, String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String SQL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String SQL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.create_time,10) AS dateNo, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " COUNT(1) AS guidanceCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code = " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按月统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('"+startDate+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('" + startDate + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " COUNT(1) AS guidanceCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(SQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(SQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamGuidList(String teamCode,String startDate,String endDate,String sort,String sortType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamGuidList(String teamCode, String startDate, String endDate, String sort, String sortType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.guidanceCount,0) AS guidanceCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`code` AS doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`name` AS name " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3618,23 +3653,23 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY w.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctor = m.doctor_code, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_doctor d " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql+   " ORDER BY guidanceCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql+   " ORDER BY guidanceCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql + " ORDER BY guidanceCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalSql = totalSql + " ORDER BY guidanceCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.guidanceCount,0) AS addCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`code` AS doctorCode, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`name` AS name " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3647,42 +3682,42 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY w.doctor " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctor = m.doctor_code, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_doctor d " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " +teamCode ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql+   " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql+   " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql + " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addSql = addSql + " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList =jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map :totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map :addList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按总数排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map:totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3694,10 +3729,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按增量排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map:addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3712,119 +3747,119 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorGuiTitle(String teamCode,String doctor,String startDate,String endDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorGuiTitle(String teamCode, String doctor, String startDate, String endDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS guidanceCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='"+doctor+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+endDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + endDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSQL ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSQL = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS addCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_patient_health_guidance w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='"+doctor+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+endDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =  " + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + endDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long guidanceCount =0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long guidanceCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long addCount = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map =totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            guidanceCount = (Long)map.get("guidanceCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = totalList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            guidanceCount = (Long) map.get("guidanceCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("guidanceCount",guidanceCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("guidanceCount", guidanceCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList = jdbcTemplate.queryForList(addSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map =addList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addCount = (Long)map.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSQL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = addList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addCount = (Long) map.get("addCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addCount",addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addCount", addCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamEduLine(String teamCode,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamEduLine(String teamCode, String startDate, String endDate, String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.czrq,10) AS dateNo,COUNT(1) AS articleCount,count(DISTINCT w.batch_no) batchCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('"+startDate+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('" + startDate + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS articleCount,count(DISTINCT w.batch_no) batchno " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorEduLine(String teamCode,String startDate,String endDate,String type,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamDoctorEduLine(String teamCode, String startDate, String endDate, String type, String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按周统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " left(w.czrq,10) AS dateNo,COUNT(1) AS articleCount,count(DISTINCT w.batch_no) batchCount " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " GROUP BY dateNo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('"+startDate+"', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  DATE_FORMAT(w.czrq, '%v') - DATE_FORMAT('" + startDate + "', '%v') + 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " ) AS weekOfMonth,COUNT(1) AS articleCount,count(DISTINCT w.batch_no) batchno " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='"+doctor+"'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "GROUP BY weekOfMonth"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return new JSONArray(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamEduList(String teamCode,String startDate,String endDate,String sort,String sortType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getTeamEduList(String teamCode, String startDate, String endDate, String sort, String sortType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.articleCount,0) AS articleCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.batchno,0) AS batchno, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`code` AS doctorCode, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3839,32 +3874,32 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctorCode =m.doctor_code, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_doctor d " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " +teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //降序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if("0".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ("0".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //总人次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql+ " ORDER BY articleCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if("2".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql + " ORDER BY articleCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if ("2".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //总批次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql+ " ORDER BY batchno DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql + " ORDER BY batchno DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if("0".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql+ " ORDER BY articleCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if("2".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql+ " ORDER BY batchno ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ("0".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql + " ORDER BY articleCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if ("2".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalSql = totalSql + " ORDER BY batchno ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.articleCount,0) AS addCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " IFNULL(c.batchno,0) AS addBatchno, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " d.`code` AS doctorCode, " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3879,50 +3914,50 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+startDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + startDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " GROUP BY doctorCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " ) c ON c.doctorCode =m.doctor_code, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_doctor d " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  d.`code` = m.doctor_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.available = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " +teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sort)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if("1".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql+ " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if("3".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql+ " ORDER BY addBatchno DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND m.team_id =  " + teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sort)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ("1".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql + " ORDER BY addCount DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if ("3".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql + " ORDER BY addBatchno DESC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if("1".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql+ " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if("3".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql+ " ORDER BY addBatchno ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ("1".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql + " ORDER BY addCount ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if ("3".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addSql = addSql + " ORDER BY addBatchno ASC"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList =jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map :totalList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> totalMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                totalMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> map :addList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String)map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> addMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addMap.put(code, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("0".equals(sortType)||"2".equals(sortType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("0".equals(sortType) || "2".equals(sortType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按总数排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(totalList!=null&&totalList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map:totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (totalList != null && totalList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : totalList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) addMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3937,10 +3972,10 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new JSONArray(totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按增量排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(addList!=null&&addList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(Map<String,Object> map:addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (addList != null && addList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> map : addList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = (String) map.get("doctorCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> m = (Map<String, Object>) totalMap.get(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (m != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3958,46 +3993,418 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorEduTitle(String teamCode,String startDate,String endDate,String doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate+" 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamDoctorEduTitle(String teamCode, String startDate, String endDate, String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate + " 00:00:00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        endDate = endDate + " 23:59:59"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS articleCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(DISTINCT w.batch_no) batchno " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='"+doctor+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String addSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(1) AS addCount, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " COUNT(DISTINCT w.batch_no) addBatchno " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " wlyy_health_edu_article_patient w " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" +teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='"+doctor+"'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '"+endDate+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '"+startDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> addList =jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " w.admin_team_code =" + teamCode + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.doctor ='" + doctor + "'" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq <= '" + endDate + "' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND w.czrq >= '" + startDate + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> totalList = jdbcTemplate.queryForList(totalSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> addList = jdbcTemplate.queryForList(addSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalList",totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addList",addList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("totalList", totalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("addList", addList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getDoctorInfo(String code){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Doctor doctor =  doctorDao.findByCode(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getDoctorInfo(String code) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Doctor doctor = doctorDao.findByCode(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("doctorName",doctor.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("doctor",doctor.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("photo",doctor.getPhoto()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("doctorName", doctor.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("doctor", doctor.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rs.put("photo", doctor.getPhoto()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取单个数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public WlyyQuotaResult findOneQuotaResult(String date, int level, String index, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select * from wlyy_quota_result w where w.quota_date ='" + date + "' and w.quato_code='" + index + "' and w.level1_type= " + level; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (level == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 市级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and city='" + area + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 区、城镇级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and town='" + area + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 机构级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = " and org_code='" + area + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 机构级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = " and qkdoctor_code ='" + area + "'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyQuotaResult> results = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyyQuotaResult.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (results.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return results.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getRenewPercentAndChangePercent(String level, String code, String year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jo = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //从redis中获取最新的续签数据  续签指标是29 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int renewNum = getLevel1NumForRedis("29", level, code, timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //根据年度获取去年的签约数 签约指标是1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String date = year + "-06-30"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String index = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyQuotaResult wlyyQuotaResult = findOneQuotaResult(date, Integer.valueOf(level), index, code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int signNum = Integer.valueOf(wlyyQuotaResult.getResult()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //从redis中获取最新的转签数据  指标是37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int switchNum = getLevel1NumForRedis("37", level, code, timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("yesterYearSign", signNum);//去年的签约量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("thisYearRenew", renewNum);//今年的续签量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("thisYearSwithch", switchNum);//今年的转签量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("renewRange", getRange(renewNum, signNum, 2));//续签率  50.00% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("renewRange", getRange(switchNum, renewNum, 2));//转签率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getRenewAnalysis(String level, String code, String year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jo = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取转签人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int switchNum = getLevel1NumForRedis("37", level, code, timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取转签分布 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray switchJO = getLevel2JsonObjectForRedis("30", level, code, timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取转签原因分析 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //从redis中获取最新的续签数据  续签指标是29 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int renewNum = getLevel1NumForRedis("29", level, code, timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int changeTeam = getLevel1NumForRedis("31", level, code, timeKey);//夸团队的数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int changeHospital = getLevel1NumForRedis("32", level, code, timeKey);//夸社区的数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int changeTown = getLevel1NumForRedis("33", level, code, timeKey);//夸区的数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("thisYearSwithch", switchNum);//今年的转签量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("switchHealth", switchJO);//今年的服务分布 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("switchTeam", getRange(changeTeam, renewNum, 2));//今年的转签量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("switchHospital", getRange(changeHospital, renewNum, 2));//今年的转签量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jo.put("switchTown", getRange(changeTown, renewNum, 2));//今年的转签量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-==============================================通用方法============================================= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 通用的方法 获取一级维度的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param timeKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private int getLevel1NumForRedis(String index, String level, String code, String timeKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String key37 = "quota:" + index + ":" + level + ":" + code + ":" + timeKey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject switchJo = new JSONObject(redisTemplate.opsForValue().get(key37)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return switchJo.getInt("num"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 通用的方法 获取二级维度的数据列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param timeKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONArray getLevel2JsonObjectForRedis(String index, String level, String code, String timeKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String key37 = "quota:" + index + ":" + level + ":" + code + ":" + timeKey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray switchJo = new JSONArray(redisTemplate.opsForValue().get(key37)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return switchJo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取2个数的百分比 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getRange(int first, int second, int i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        float size = (float) (first * 100) / second; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filesize = df.format(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return filesize + "%"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingTitleAll(Integer level, String area, String year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的及时回复数,然后累加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        relyObject.put("num", relyObject.getInt("num") + getSizeByIndexLevelArea(year, "23", level, area)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray rely = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rely.put(relyObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String relyTotal = redisTemplate.opsForValue().get("quota:25:" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(relyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject totalObject = new JSONObject(relyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的咨询总数,然后累加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        totalObject.put("num", totalObject.getInt("num") + getSizeByIndexLevelArea(year, "25", level, area)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray total = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        total.put(totalObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String onRelyTotal = redisTemplate.opsForValue().get("quota:22:" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(onRelyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject onRelyObject = new JSONObject(onRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的未回复数,然后累加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        onRelyObject.put("num", onRelyObject.getInt("num") + getSizeByIndexLevelArea(year, "22", level, area)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray onRely = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        onRely.put(onRelyObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("result", getCoutList(rely, total, onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingTitleWithYear(Integer level, String area, String year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject relyObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的及时回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyQuotaResult wlyyQuotaResult = findOneQuotaResult((Integer.valueOf(year) + 1) + "-06-30", level, "23", area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyQuotaResult != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyObject.put("name", getNameByLevel(wlyyQuotaResult, level)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyObject.put("code", getCodeByLevel(wlyyQuotaResult, level)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            relyObject.put("num", Integer.valueOf(wlyyQuotaResult.getResult())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray rely = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        rely.put(relyObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject totalObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyQuotaResult = findOneQuotaResult("2017-06-30", level, "25", area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyQuotaResult != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalObject.put("name", getNameByLevel(wlyyQuotaResult, level)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalObject.put("code", getCodeByLevel(wlyyQuotaResult, level)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            totalObject.put("num", Integer.valueOf(wlyyQuotaResult.getResult())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray total = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        total.put(totalObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject onRelyObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的未回复数,然后累加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyQuotaResult = findOneQuotaResult("2017-06-30", level, "22", area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的咨询总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyQuotaResult = findOneQuotaResult("2017-06-30", level, "25", area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyQuotaResult != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onRelyObject.put("name", getNameByLevel(wlyyQuotaResult, level)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onRelyObject.put("code", getCodeByLevel(wlyyQuotaResult, level)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onRelyObject.put("num", Integer.valueOf(wlyyQuotaResult.getResult())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray onRely = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        onRely.put(onRelyObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("result", getCoutList(rely, total, onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getCoutListByTimeAll(String level, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(level) && StringUtils.isNotBlank(area)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String relyVal = findLevel1IndexInRedis("24", level, area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray array = new JSONArray(relyVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList", array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getCoutListByTimeYear(String level, String area, String year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyQuotaResult wlyyQuotaResult = findOneQuotaResult((Integer.valueOf(year) + 1) + "-06-30", Integer.valueOf(level), "24", area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyQuotaResult != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("name", getNameByLevel(wlyyQuotaResult, Integer.valueOf(level))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("code", getCodeByLevel(wlyyQuotaResult, Integer.valueOf(level))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("num", Integer.valueOf(wlyyQuotaResult.getResult())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingStatisticsListAll(Integer level, String area, String lowlevel, String year) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //级别为市级,统计区级统计区和机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (level == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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: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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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: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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isBlank(onRelyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONArray onRely = new JSONArray(onRelyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("resultList", getCoutList(rely, total, onRely)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (level == 3) {//区级底下的机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //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:25:" + level + ":" + area + ":2:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(relyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray total = new JSONArray(relyTotal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //未回复数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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:25:" + level + ":" + area + ":1:" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isBlank(relyTotal)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray total = 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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String, Object>> rs = getCoutList(rely, total, noRely); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            statisticsAllService.translateTeamLeaderName(rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("resultList", rs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getConsultingStatisticsListYear(Integer level, String area, String lowlevel, String year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getTeamRenewChangeLine(String teamCode,String startDate,String endDate,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = startDate+" 00:00:00"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -4043,4 +4450,67 @@ public class StatisticsService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-----------------------------------通用方法------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 得到某个指标的之前全部的数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param year 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private Integer getSizeByIndexLevelArea(String year, String index, Integer level, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查找去年6月30号的及时回复数,然后累加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyQuotaResult wlyyQuotaResult = findOneQuotaResult("2017-06-30", level, index, area); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyQuotaResult != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Integer.valueOf(wlyyQuotaResult.getResult()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String findLevel1IndexInRedis(String index, String level, String area) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String timeKey = redisTemplate.opsForValue().get("quota:timeKey"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String relyVal = redisTemplate.opsForValue().get("quota:" + index + ":" + level + ":" + area + ":" + timeKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return relyVal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String getNameByLevel(WlyyQuotaResult wlyyQuotaResult, Integer level) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        switch (level) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 1: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getQkdoctorName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 2: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getOrgName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 3: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getTownName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 4: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getCityName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String getCodeByLevel(WlyyQuotaResult wlyyQuotaResult, Integer level) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        switch (level) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 1: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getQkdoctorCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 2: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getOrgCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 3: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getTown(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case 4: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return wlyyQuotaResult.getCity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |