|  | @ -4,18 +4,21 @@ import com.yihu.wlyy.entity.address.Town;
 | 
	
		
			
				|  |  | 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;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.doctor.DoctorDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.organization.HospitalDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.statistics.PopulationBaseDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.repository.statistics.WlyyQuotaResultDao;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.BaseService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.util.DateUtil;
 | 
	
		
			
				|  |  | 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.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.util.StringUtils;
 | 
	
	
		
			
				|  | @ -46,6 +49,8 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |     PopulationBaseDao peopleNumDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private StringRedisTemplate redisTemplate;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WlyyQuotaResultDao wlyyQuotaResultDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取时间戳
 | 
	
	
		
			
				|  | @ -145,7 +150,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 "     wlyy_quota_result " +
 | 
	
		
			
				|  |  |                 " where " +
 | 
	
		
			
				|  |  |                 "     quato_code = ? " +
 | 
	
		
			
				|  |  |                 "   and level1_type = ? and del = '1'" ;
 | 
	
		
			
				|  |  |                 "   and level1_type = ? and del = '1'";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (level == 4) {
 | 
	
		
			
				|  |  |             // 市级别
 | 
	
	
		
			
				|  | @ -273,7 +278,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (peopleNum != null && peopleNum.getNum() > 0) {
 | 
	
		
			
				|  |  |             json.put("rate", df.format((signAmount * 1.0000) / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |             json.put("rateString", signAmount+"/"+peopleNum.getNum());
 | 
	
		
			
				|  |  |             json.put("rateString", signAmount + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |             json.put("sign", signAmount);
 | 
	
		
			
				|  |  |             json.put("people", peopleNum.getNum());
 | 
	
		
			
				|  |  |         } else {
 | 
	
	
		
			
				|  | @ -302,12 +307,12 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (peopleNum != null && peopleNum.getTaskNum() > 0) {
 | 
	
		
			
				|  |  |             json.put("rate", df.format((signAmount * 1.0000) / peopleNum.getTaskNum() * 100));
 | 
	
		
			
				|  |  |             json.put("rateString", signAmount +"/"+ peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |             json.put("rateString", signAmount + "/" + peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |             json.put("sign", signAmount);
 | 
	
		
			
				|  |  |             json.put("people", peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             json.put("rate", "0.0000");
 | 
	
		
			
				|  |  |             json.put("rateString","0/0");
 | 
	
		
			
				|  |  |             json.put("rateString", "0/0");
 | 
	
		
			
				|  |  |             json.put("sign", signAmount);
 | 
	
		
			
				|  |  |             json.put("people", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -430,13 +435,13 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |         signRate.put("sign", total);
 | 
	
		
			
				|  |  |         signRate.put("people", num);
 | 
	
		
			
				|  |  |         signRate.put("rate", df.format((total * 1.0000) / num * 100));
 | 
	
		
			
				|  |  |         signRate.put("rateString",total+"/"+num);
 | 
	
		
			
				|  |  |         signRate.put("rateString", total + "/" + num);
 | 
	
		
			
				|  |  |         json.put("signRate", signRate);
 | 
	
		
			
				|  |  |         JSONObject signTaskRate = new JSONObject();
 | 
	
		
			
				|  |  |         signTaskRate.put("sign", total);
 | 
	
		
			
				|  |  |         signTaskRate.put("people", taskNum);
 | 
	
		
			
				|  |  |         signTaskRate.put("rate", df.format((total * 1.0000) / taskNum * 100));
 | 
	
		
			
				|  |  |         signTaskRate.put("rateString", total  +"/"+taskNum);
 | 
	
		
			
				|  |  |         signTaskRate.put("rateString", total + "/" + taskNum);
 | 
	
		
			
				|  |  |         json.put("signTaskRate", signTaskRate);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return json;
 | 
	
	
		
			
				|  | @ -503,9 +508,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / num * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / taskNum * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(taskNum * 1.0000 / num * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount")+"/"+ num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+ taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString",taskNum+"/"+num );
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString", taskNum + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("num", num);
 | 
	
		
			
				|  |  |                             map.put("task", taskNum);
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -528,9 +533,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / num * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / taskNum * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(taskNum * 1.0000 / num * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount")+"/"+ num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+ taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString",taskNum+"/"+num );
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString", taskNum + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("num", num);
 | 
	
		
			
				|  |  |                             map.put("task", taskNum);
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -538,7 +543,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if((level==4&&"1".equals(lowLevel))||(level==2)||(level==3&&"1".equals(lowLevel))){
 | 
	
		
			
				|  |  |             if ((level == 4 && "1".equals(lowLevel)) || (level == 2) || (level == 3 && "1".equals(lowLevel))) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -609,9 +614,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getTaskNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(peopleNum.getTaskNum() * 1.0000 / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") +"/"+ peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+  peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                             map.put("targetRateString",peopleNum.getTaskNum()+"/"+ peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                             map.put("targetRateString", peopleNum.getTaskNum() + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("num", peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("task", peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -621,9 +626,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("num") * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("taskNum") * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(peopleNum.getInt("taskNum") * 1.0000 / peopleNum.getInt("num") * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") +"/"+ peopleNum.getInt("num") );
 | 
	
		
			
				|  |  |                             map.put("taskRateString",map.get("amount") +"/"+peopleNum.getInt("taskNum") );
 | 
	
		
			
				|  |  |                             map.put("targetRateString",peopleNum.getInt("taskNum") +"/"+ peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + peopleNum.getInt("taskNum"));
 | 
	
		
			
				|  |  |                             map.put("targetRateString", peopleNum.getInt("taskNum") + "/" + peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("num", peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("task", peopleNum.getInt("taskNum"));
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -631,7 +636,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if((level==4&&"1".equals(lowLevel))||(level==2)){
 | 
	
		
			
				|  |  |             if ((level == 4 && "1".equals(lowLevel)) || (level == 2)) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -703,9 +708,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getTaskNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(peopleNum.getTaskNum() * 1.0000 / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") +"/"+ peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+  peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                             map.put("targetRateString",peopleNum.getTaskNum()+"/"+ peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                             map.put("targetRateString", peopleNum.getTaskNum() + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("num", peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("task", peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -715,9 +720,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("num") * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("taskNum") * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(peopleNum.getInt("taskNum") * 1.0000 / peopleNum.getInt("num") * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") +"/"+ peopleNum.getInt("num") );
 | 
	
		
			
				|  |  |                             map.put("taskRateString",map.get("amount") +"/"+peopleNum.getInt("taskNum") );
 | 
	
		
			
				|  |  |                             map.put("targetRateString",peopleNum.getInt("taskNum") +"/"+ peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + peopleNum.getInt("taskNum"));
 | 
	
		
			
				|  |  |                             map.put("targetRateString", peopleNum.getInt("taskNum") + "/" + peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("num", peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("task", peopleNum.getInt("taskNum"));
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -725,7 +730,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if((level==4&&"1".equals(lowLevel))||(level==2)||(level==3&&"1".equals(lowLevel))){
 | 
	
		
			
				|  |  |             if ((level == 4 && "1".equals(lowLevel)) || (level == 2) || (level == 3 && "1".equals(lowLevel))) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -745,7 +750,6 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return new JSONArray(resultList);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
	
		
			
				|  | @ -779,14 +783,14 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 "   wlyy_quota_result" +
 | 
	
		
			
				|  |  |                 "  where quota_date = ? and quato_code = ?";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         int rows = jdbcTemplate.queryForObject(sql1,Integer.class,date,index);
 | 
	
		
			
				|  |  |         if (rows==0){
 | 
	
		
			
				|  |  |                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |                 Date tdate=sdf.parse(date);
 | 
	
		
			
				|  |  |                 Calendar day = Calendar.getInstance();
 | 
	
		
			
				|  |  |                 day.setTime(tdate);
 | 
	
		
			
				|  |  |                 day.add(Calendar.DATE, -1);
 | 
	
		
			
				|  |  |                 date = new SimpleDateFormat("yyyy-MM-dd").format(day.getTime());
 | 
	
		
			
				|  |  |         int rows = jdbcTemplate.queryForObject(sql1, Integer.class, date, index);
 | 
	
		
			
				|  |  |         if (rows == 0) {
 | 
	
		
			
				|  |  |             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |             Date tdate = sdf.parse(date);
 | 
	
		
			
				|  |  |             Calendar day = Calendar.getInstance();
 | 
	
		
			
				|  |  |             day.setTime(tdate);
 | 
	
		
			
				|  |  |             day.add(Calendar.DATE, -1);
 | 
	
		
			
				|  |  |             date = new SimpleDateFormat("yyyy-MM-dd").format(day.getTime());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (level == 4) {
 | 
	
	
		
			
				|  | @ -839,7 +843,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 map.put("amount", 0L);
 | 
	
		
			
				|  |  |                 map.put("num", 0);
 | 
	
		
			
				|  |  |                 map.put("rate", 0.0000D);
 | 
	
		
			
				|  |  |                 map.put("rateString","0/0");
 | 
	
		
			
				|  |  |                 map.put("rateString", "0/0");
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 DecimalFormat df = new DecimalFormat("0.0000");
 | 
	
		
			
				|  |  |                 String[] args = map.get("amount").toString().split("/");
 | 
	
	
		
			
				|  | @ -847,11 +851,11 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 map.put("amount", Long.valueOf(args[0]));
 | 
	
		
			
				|  |  |                 map.put("num", Long.valueOf(args[1]));
 | 
	
		
			
				|  |  |                 map.put("rate", df.format((Long.valueOf(args[0]) * 1.0000) / Long.valueOf(args[1]) * 100));
 | 
	
		
			
				|  |  |                 map.put("rateString", args[0] +"/"+ args[1]);
 | 
	
		
			
				|  |  |                 map.put("rateString", args[0] + "/" + args[1]);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if((level==4&&"1".equals(lowLevel))||(level==2)){
 | 
	
		
			
				|  |  |         if ((level == 4 && "1".equals(lowLevel)) || (level == 2)) {
 | 
	
		
			
				|  |  |             translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1173,7 +1177,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 towns = townDao.findByCityCode(area);
 | 
	
		
			
				|  |  |             } else if (level == 3) {
 | 
	
		
			
				|  |  |                 Town town = townDao.findByCode(area);
 | 
	
		
			
				|  |  |                 if(town != null) {
 | 
	
		
			
				|  |  |                 if (town != null) {
 | 
	
		
			
				|  |  |                     towns.add(town);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -1255,7 +1259,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 towns = townDao.findByCityCode(area);
 | 
	
		
			
				|  |  |             } else if (level == 3) {
 | 
	
		
			
				|  |  |                 Town town = townDao.findByCode(area);
 | 
	
		
			
				|  |  |                 if(town != null) {
 | 
	
		
			
				|  |  |                 if (town != null) {
 | 
	
		
			
				|  |  |                     towns.add(town);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -1359,7 +1363,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                 for (Map<String, Object> map : resultList) {
 | 
	
		
			
				|  |  |                     double rateG = (total > 0 ? ((long) map.get("amount")) * 1.0000 / total * 100 : 0);
 | 
	
		
			
				|  |  |                     map.put("rate", df.format(rateG));
 | 
	
		
			
				|  |  |                     map.put("rateString",map.get("amount")+"/"+total);
 | 
	
		
			
				|  |  |                     map.put("rateString", map.get("amount") + "/" + total);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (index.equals("6") && resultList.size() > 0) {
 | 
	
	
		
			
				|  | @ -1990,7 +1994,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |             Calendar next = Calendar.getInstance();
 | 
	
		
			
				|  |  |             next.setTime(days.get(days.size() - 1).getTime());
 | 
	
		
			
				|  |  |             next.add(Calendar.DATE, 1);
 | 
	
		
			
				|  |  |             if (df.format(next.getTime()).compareTo(endDate) < 0) {
 | 
	
		
			
				|  |  |             if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
 | 
	
		
			
				|  |  |                 days.add(next);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 days.add(end);
 | 
	
	
		
			
				|  | @ -2158,7 +2162,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 next.add(Calendar.DATE, 7);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (df.format(next.getTime()).compareTo(df.format(end.getTime())) < 0) {
 | 
	
		
			
				|  |  |             if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
 | 
	
		
			
				|  |  |                 days.add(next);
 | 
	
		
			
				|  |  |                 if (i == 0) {
 | 
	
		
			
				|  |  |                     firstEnd = df.format(next.getTime());
 | 
	
	
		
			
				|  | @ -2349,7 +2353,7 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |             next.set(Calendar.DAY_OF_MONTH, 1);
 | 
	
		
			
				|  |  |             next.add(Calendar.DAY_OF_MONTH, -1);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (df.format(next.getTime()).compareTo(df.format(end.getTime())) < 0) {
 | 
	
		
			
				|  |  |             if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
 | 
	
		
			
				|  |  |                 days.add(next);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 days.add(end);
 | 
	
	
		
			
				|  | @ -2515,9 +2519,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getTaskNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(peopleNum.getTaskNum() * 1.0000 / peopleNum.getNum() * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") +"/"+ peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+  peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                             map.put("targetRateString",peopleNum.getTaskNum()+"/"+ peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                             map.put("targetRateString", peopleNum.getTaskNum() + "/" + peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("num", peopleNum.getNum());
 | 
	
		
			
				|  |  |                             map.put("task", peopleNum.getTaskNum());
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -2527,9 +2531,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("num") * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / peopleNum.getInt("taskNum") * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(peopleNum.getInt("taskNum") * 1.0000 / peopleNum.getInt("num") * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") +"/"+ peopleNum.getInt("num") );
 | 
	
		
			
				|  |  |                             map.put("taskRateString",map.get("amount") +"/"+peopleNum.getInt("taskNum") );
 | 
	
		
			
				|  |  |                             map.put("targetRateString",peopleNum.getInt("taskNum") +"/"+ peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + peopleNum.getInt("taskNum"));
 | 
	
		
			
				|  |  |                             map.put("targetRateString", peopleNum.getInt("taskNum") + "/" + peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("num", peopleNum.getInt("num"));
 | 
	
		
			
				|  |  |                             map.put("task", peopleNum.getInt("taskNum"));
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -2553,39 +2557,39 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             //计算签约人数
 | 
	
		
			
				|  |  |             List<Map<String, Object>> signList = getTodayLowLevelTotal2(area, level, "1", sort, lowLevel);
 | 
	
		
			
				|  |  |             Map<String,Object> signMap = new HashMap<>();
 | 
	
		
			
				|  |  |             if(signList!=null&&signList.size()>0){
 | 
	
		
			
				|  |  |             Map<String, Object> signMap = new HashMap<>();
 | 
	
		
			
				|  |  |             if (signList != null && signList.size() > 0) {
 | 
	
		
			
				|  |  |                 //将List转化为Map减小循环层数
 | 
	
		
			
				|  |  |                 for(Map<String, Object> sign :signList){
 | 
	
		
			
				|  |  |                     signMap.put(sign.get("code").toString(),sign);
 | 
	
		
			
				|  |  |                 for (Map<String, Object> sign : signList) {
 | 
	
		
			
				|  |  |                     signMap.put(sign.get("code").toString(), sign);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             for(Map<String, Object> map :resultList){
 | 
	
		
			
				|  |  |                 Long bindCout = (Long)map.get("amount");
 | 
	
		
			
				|  |  |                 Map<String, Object> sMap = (Map<String, Object>)signMap.get(map.get("code").toString());
 | 
	
		
			
				|  |  |                 Long signCout = (Long)sMap.get("amount");
 | 
	
		
			
				|  |  |                 if((signCout!=null&&signCout!=0)&&(bindCout!=null&&bindCout!=0)){
 | 
	
		
			
				|  |  |                     double rate = (double)bindCout/signCout*100;
 | 
	
		
			
				|  |  |             for (Map<String, Object> map : resultList) {
 | 
	
		
			
				|  |  |                 Long bindCout = (Long) map.get("amount");
 | 
	
		
			
				|  |  |                 Map<String, Object> sMap = (Map<String, Object>) signMap.get(map.get("code").toString());
 | 
	
		
			
				|  |  |                 Long signCout = (Long) sMap.get("amount");
 | 
	
		
			
				|  |  |                 if ((signCout != null && signCout != 0) && (bindCout != null && bindCout != 0)) {
 | 
	
		
			
				|  |  |                     double rate = (double) bindCout / signCout * 100;
 | 
	
		
			
				|  |  |                     DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |                     map.put("bindRate",decimalFormat.format(rate)+"%");
 | 
	
		
			
				|  |  |                     map.put("bindDoubleRate",rate);
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     map.put("bindRate","0.00%");
 | 
	
		
			
				|  |  |                     map.put("bindDoubleRate",0.00);
 | 
	
		
			
				|  |  |                     map.put("bindRate", decimalFormat.format(rate) + "%");
 | 
	
		
			
				|  |  |                     map.put("bindDoubleRate", rate);
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     map.put("bindRate", "0.00%");
 | 
	
		
			
				|  |  |                     map.put("bindDoubleRate", 0.00);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if((level==4&&"1".equals(lowLevel))||(level==2)){
 | 
	
		
			
				|  |  |             if ((level == 4 && "1".equals(lowLevel)) || (level == 2)) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             // 排序
 | 
	
		
			
				|  |  |             resultList.sort(new Comparator<Map<String, Object>>() {
 | 
	
		
			
				|  |  |                 @Override
 | 
	
		
			
				|  |  |                 public int compare(Map<String, Object> o1, Map<String, Object> o2) {
 | 
	
		
			
				|  |  |                     if ((double)o1.get("bindDoubleRate")>=(double)o2.get("bindDoubleRate")) {
 | 
	
		
			
				|  |  |                     if ((double) o1.get("bindDoubleRate") >= (double) o2.get("bindDoubleRate")) {
 | 
	
		
			
				|  |  |                         return -1;
 | 
	
		
			
				|  |  |                     } else if ((double)o1.get("bindDoubleRate")<(double)o2.get("bindDoubleRate")) {
 | 
	
		
			
				|  |  |                     } else if ((double) o1.get("bindDoubleRate") < (double) o2.get("bindDoubleRate")) {
 | 
	
		
			
				|  |  |                         return 1;
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         return 0;
 | 
	
	
		
			
				|  | @ -2600,30 +2604,31 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *  查询签约人数
 | 
	
		
			
				|  |  |      * 查询签约人数
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param code
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Long getQuoTaResult(int level,String code){
 | 
	
		
			
				|  |  |         StringBuffer sql = new StringBuffer("SELECT t.result FROM wlyy_quota_result t WHERE t.quato_code ='1'AND t.quota_date = DATE_SUB(curdate(),INTERVAL 1 DAY) AND t.level1_type ='"+level+"'");
 | 
	
		
			
				|  |  |         if(level ==1){
 | 
	
		
			
				|  |  |     public Long getQuoTaResult(int level, String code) {
 | 
	
		
			
				|  |  |         StringBuffer sql = new StringBuffer("SELECT t.result FROM wlyy_quota_result t WHERE t.quato_code ='1'AND t.quota_date = DATE_SUB(curdate(),INTERVAL 1 DAY) AND t.level1_type ='" + level + "'");
 | 
	
		
			
				|  |  |         if (level == 1) {
 | 
	
		
			
				|  |  |             //1:
 | 
	
		
			
				|  |  |             sql.append(" AND t.qkdoctor_code = '"+code+"'");
 | 
	
		
			
				|  |  |         }else if(level == 2){
 | 
	
		
			
				|  |  |             sql.append(" AND t.qkdoctor_code = '" + code + "'");
 | 
	
		
			
				|  |  |         } else if (level == 2) {
 | 
	
		
			
				|  |  |             //2社区机构
 | 
	
		
			
				|  |  |             sql.append(" AND t.org_code = '"+code+"'");
 | 
	
		
			
				|  |  |         }else if(level == 3){
 | 
	
		
			
				|  |  |             sql.append(" AND t.org_code = '" + code + "'");
 | 
	
		
			
				|  |  |         } else if (level == 3) {
 | 
	
		
			
				|  |  |             //3区级
 | 
	
		
			
				|  |  |             sql.append(" AND t.town = '"+code+"'");
 | 
	
		
			
				|  |  |         }else if(level == 4){
 | 
	
		
			
				|  |  |             sql.append(" AND t.town = '" + code + "'");
 | 
	
		
			
				|  |  |         } else if (level == 4) {
 | 
	
		
			
				|  |  |             //4市级
 | 
	
		
			
				|  |  |             sql.append(" AND t.city = '"+code+"'");
 | 
	
		
			
				|  |  |             sql.append(" AND t.city = '" + code + "'");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |             List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql.toString());
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql.toString());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(resultList!=null&&resultList.size()>0){
 | 
	
		
			
				|  |  |             return Long.parseLong((String)resultList.get(0).get("result"));
 | 
	
		
			
				|  |  |         if (resultList != null && resultList.size() > 0) {
 | 
	
		
			
				|  |  |             return Long.parseLong((String) resultList.get(0).get("result"));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return 0L;
 | 
	
	
		
			
				|  | @ -2631,19 +2636,20 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取所有团队长信息
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public  Map<Integer,Map<String,Object>> getAllTeamLeaders(){
 | 
	
		
			
				|  |  |     public Map<Integer, Map<String, Object>> getAllTeamLeaders() {
 | 
	
		
			
				|  |  |         String sql = " select t.leader_code,t.id,d.name " +
 | 
	
		
			
				|  |  |                 " from wlyy_admin_team t " +
 | 
	
		
			
				|  |  |                 " LEFT JOIN wlyy_doctor d " +
 | 
	
		
			
				|  |  |                 " on t.leader_code = d.code ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         //将结果集转换为 map减小循环层
 | 
	
		
			
				|  |  |         Map<Integer,Map<String,Object>> rsMap = new HashMap<>();
 | 
	
		
			
				|  |  |         if(rs!=null&&rs.size()>0){
 | 
	
		
			
				|  |  |             for(Map<String,Object> map : rs){
 | 
	
		
			
				|  |  |                 rsMap.put((Integer)map.get("id"),map);
 | 
	
		
			
				|  |  |         Map<Integer, Map<String, Object>> rsMap = new HashMap<>();
 | 
	
		
			
				|  |  |         if (rs != null && rs.size() > 0) {
 | 
	
		
			
				|  |  |             for (Map<String, Object> map : rs) {
 | 
	
		
			
				|  |  |                 rsMap.put((Integer) map.get("id"), map);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return rsMap;
 | 
	
	
		
			
				|  | @ -2651,71 +2657,72 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取团队长队长名字
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param leaders
 | 
	
		
			
				|  |  |      * @param teamCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getTeamLeaderNameByTeamCode(Map<Integer,Map<String,Object>> leaders ,int teamCode){
 | 
	
		
			
				|  |  |         if(leaders!=null&&leaders.size()>0&&teamCode!=0){
 | 
	
		
			
				|  |  |             Map<String,Object> leader = leaders.get(teamCode);
 | 
	
		
			
				|  |  |             if(leader!=null){
 | 
	
		
			
				|  |  |                 return (String)leader.get("name");
 | 
	
		
			
				|  |  |     public String getTeamLeaderNameByTeamCode(Map<Integer, Map<String, Object>> leaders, int teamCode) {
 | 
	
		
			
				|  |  |         if (leaders != null && leaders.size() > 0 && teamCode != 0) {
 | 
	
		
			
				|  |  |             Map<String, Object> leader = leaders.get(teamCode);
 | 
	
		
			
				|  |  |             if (leader != null) {
 | 
	
		
			
				|  |  |                 return (String) leader.get("name");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return "";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> translateTeamLeaderName(List<Map<String,Object>> rs){
 | 
	
		
			
				|  |  |         Map<Integer,Map<String,Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if(rs!=null&&rs.size()>0){
 | 
	
		
			
				|  |  |             for(Map<String,Object> r :rs){
 | 
	
		
			
				|  |  |                 String id = (String)r.get("code");
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders,Integer.parseInt(id));
 | 
	
		
			
				|  |  |                 if(org.apache.commons.lang3.StringUtils.isNotBlank(name)){
 | 
	
		
			
				|  |  |                     r.put("name",name);
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> translateTeamLeaderName(List<Map<String, Object>> rs) {
 | 
	
		
			
				|  |  |         Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if (rs != null && rs.size() > 0) {
 | 
	
		
			
				|  |  |             for (Map<String, Object> r : rs) {
 | 
	
		
			
				|  |  |                 String id = (String) r.get("code");
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders, Integer.parseInt(id));
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNotBlank(name)) {
 | 
	
		
			
				|  |  |                     r.put("name", name);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return rs;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONArray translateTeamLeaderName(JSONArray rs){
 | 
	
		
			
				|  |  |         Map<Integer,Map<String,Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if(rs!=null){
 | 
	
		
			
				|  |  |             for(int i=0;i<rs.length();i++){
 | 
	
		
			
				|  |  |     public JSONArray translateTeamLeaderName(JSONArray rs) {
 | 
	
		
			
				|  |  |         Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if (rs != null) {
 | 
	
		
			
				|  |  |             for (int i = 0; i < rs.length(); i++) {
 | 
	
		
			
				|  |  |                 JSONObject r = rs.getJSONObject(i);
 | 
	
		
			
				|  |  |                 Integer id = (Integer)r.get("id");
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders,id);
 | 
	
		
			
				|  |  |                 if(org.apache.commons.lang3.StringUtils.isNotBlank(name)){
 | 
	
		
			
				|  |  |                     r.put("name",name);
 | 
	
		
			
				|  |  |                 Integer id = (Integer) r.get("id");
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders, id);
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNotBlank(name)) {
 | 
	
		
			
				|  |  |                     r.put("name", name);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return rs;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONArray translateTeamLeaderNameByCode(JSONArray rs){
 | 
	
		
			
				|  |  |         Map<Integer,Map<String,Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if(rs!=null){
 | 
	
		
			
				|  |  |             for(int i=0;i<rs.length();i++){
 | 
	
		
			
				|  |  |     public JSONArray translateTeamLeaderNameByCode(JSONArray rs) {
 | 
	
		
			
				|  |  |         Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if (rs != null) {
 | 
	
		
			
				|  |  |             for (int i = 0; i < rs.length(); i++) {
 | 
	
		
			
				|  |  |                 JSONObject r = rs.getJSONObject(i);
 | 
	
		
			
				|  |  |                 String id = (String)r.get("code");
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders,Integer.parseInt(id));
 | 
	
		
			
				|  |  |                 if(org.apache.commons.lang3.StringUtils.isNotBlank(name)){
 | 
	
		
			
				|  |  |                     r.put("name",name);
 | 
	
		
			
				|  |  |                 String id = (String) r.get("code");
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders, Integer.parseInt(id));
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNotBlank(name)) {
 | 
	
		
			
				|  |  |                     r.put("name", name);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return rs;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public List<AdminTeam> translateAdminTeamLeaderName(List<AdminTeam> rs){
 | 
	
		
			
				|  |  |         Map<Integer,Map<String,Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if(rs!=null&&rs.size()>0){
 | 
	
		
			
				|  |  |             for(AdminTeam team :rs){
 | 
	
		
			
				|  |  |     public List<AdminTeam> translateAdminTeamLeaderName(List<AdminTeam> rs) {
 | 
	
		
			
				|  |  |         Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |         if (rs != null && rs.size() > 0) {
 | 
	
		
			
				|  |  |             for (AdminTeam team : rs) {
 | 
	
		
			
				|  |  |                 Integer id = team.getId().intValue();
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders,id);
 | 
	
		
			
				|  |  |                 if(org.apache.commons.lang3.StringUtils.isNotBlank(name)){
 | 
	
		
			
				|  |  |                 String name = getTeamLeaderNameByTeamCode(leaders, id);
 | 
	
		
			
				|  |  |                 if (org.apache.commons.lang3.StringUtils.isNotBlank(name)) {
 | 
	
		
			
				|  |  |                     team.setName(name);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -2785,9 +2792,9 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / num * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / taskNum * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(taskNum * 1.0000 / num * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount")+"/"+ num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+ taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString",taskNum+"/"+num );
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString", taskNum + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("num", num);
 | 
	
		
			
				|  |  |                             map.put("task", taskNum);
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -2810,16 +2817,16 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |                             map.put("rate", df.format(((long) map.get("amount") * 1.0000) / num * 100));
 | 
	
		
			
				|  |  |                             map.put("taskRate", df.format(((long) map.get("amount") * 1.0000) / taskNum * 100));
 | 
	
		
			
				|  |  |                             map.put("targetRate", df.format(taskNum * 1.0000 / num * 100));
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount")+"/"+ num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount")+"/"+ taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString",taskNum+"/"+num );
 | 
	
		
			
				|  |  |                             map.put("rateString", map.get("amount") + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("taskRateString", map.get("amount") + "/" + taskNum);
 | 
	
		
			
				|  |  |                             map.put("targetRateString", taskNum + "/" + num);
 | 
	
		
			
				|  |  |                             map.put("num", num);
 | 
	
		
			
				|  |  |                             map.put("task", taskNum);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if((level==4&&"1".equals(lowLevel))||(level==2)||(level==3&&"1".equals(lowLevel))){
 | 
	
		
			
				|  |  |             if ((level == 4 && "1".equals(lowLevel)) || (level == 2) || (level == 3 && "1".equals(lowLevel))) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -2843,4 +2850,126 @@ public class StatisticsAllService extends BaseService {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public String getRange(int first, int second, int i) {
 | 
	
		
			
				|  |  |         if(second==0&&first>0){
 | 
	
		
			
				|  |  |             //如果分母为0 分子不为0 返回100%
 | 
	
		
			
				|  |  |             return "100%";
 | 
	
		
			
				|  |  |         }else if(second==0&&first==0){
 | 
	
		
			
				|  |  |             //如果分母为0 分子为0 返回0%
 | 
	
		
			
				|  |  |             return "0%";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         float size = (float) (first * 100) / second;
 | 
	
		
			
				|  |  |         DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0
 | 
	
		
			
				|  |  |         String filesize = df.format(size);
 | 
	
		
			
				|  |  |         return filesize + "%";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONArray getLevelTwoLowLevelTotalSignAndRenew(String date, String area, int level, String index, int sort, String lowLevel, String lowCode, String year) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         String lastDate = year + "-06-30";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String low_level = String.valueOf(StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = new ArrayList<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (date.compareTo(dateFormat.format(new Date())) >= 0) {
 | 
	
		
			
				|  |  | //            查询当天及以后的数据
 | 
	
		
			
				|  |  |             resultList = getLevelTwoTodayLowLevelTotal(area, level, index, sort, lowLevel, lowCode);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  | //           查询当天以前的数据
 | 
	
		
			
				|  |  |             resultList = getLevelTwoTodayBeforeLowLevelTotal(date, area, level, index, sort, lowLevel, lowCode);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 结果为空时,自建结果集
 | 
	
		
			
				|  |  |         if (resultList == null || resultList.size() < 1) {
 | 
	
		
			
				|  |  |             resultList = getLowLevelMapKey(level, low_level, area);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (resultList != null) {
 | 
	
		
			
				|  |  |             DecimalFormat df = new DecimalFormat("0.0000");
 | 
	
		
			
				|  |  |             for (Map<String, Object> map : resultList) {
 | 
	
		
			
				|  |  |                 map.put("amount", map.get("amount") != null ? Long.valueOf(map.get("amount").toString()) : 0L);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 //获取去年签约的人数 默认是上个年度的最后一天
 | 
	
		
			
				|  |  |                 WlyyQuotaResult redisNum = findOneQuotaResult(lastDate, Integer.valueOf(low_level), "1", map.get("code").toString());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 if (redisNum == null) {
 | 
	
		
			
				|  |  |                     int signNum = 0;
 | 
	
		
			
				|  |  |                     int renewNum = 0;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     signNum = Integer.valueOf(0);
 | 
	
		
			
				|  |  |                     renewNum = Integer.valueOf(map.get("amount").toString());
 | 
	
		
			
				|  |  |                     map.put("rate", getRange(renewNum,signNum,2));
 | 
	
		
			
				|  |  |                     map.put("signNum", 0);
 | 
	
		
			
				|  |  |                     map.put("renewNum", renewNum);
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     JSONObject peopleNum = new JSONObject(redisNum);
 | 
	
		
			
				|  |  |                     if (peopleNum != null) {
 | 
	
		
			
				|  |  |                         int signNum = 0;
 | 
	
		
			
				|  |  |                         int renewNum = 0;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                         signNum = Integer.valueOf(redisNum.getResult());
 | 
	
		
			
				|  |  |                         renewNum = Integer.valueOf(map.get("amount").toString());
 | 
	
		
			
				|  |  |                         map.put("rate",getRange(renewNum,signNum,2));
 | 
	
		
			
				|  |  |                         map.put("signNum", signNum);
 | 
	
		
			
				|  |  |                         map.put("renewNum", renewNum);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if ((level == 4 && "1".equals(lowLevel)) || (level == 2) || (level == 3 && "1".equals(lowLevel))) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Collections.sort(resultList, new Comparator<Map<String, Object>>() {
 | 
	
		
			
				|  |  |                 public int compare(Map<String, Object> o1, Map<String, Object> o2) {
 | 
	
		
			
				|  |  |                     long map1value = (long) o1.get("amount");
 | 
	
		
			
				|  |  |                     long map2value = (long) o2.get("amount");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     if (map1value - map2value > 0) {
 | 
	
		
			
				|  |  |                         return sort == 1 ? -1 : 1;
 | 
	
		
			
				|  |  |                     } else if (map1value - map2value < 0) {
 | 
	
		
			
				|  |  |                         return sort == 1 ? 1 : -1;
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         return 0;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return new JSONArray(resultList);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取单个数据
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |