|  | @ -184,18 +184,37 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |         //获取当天0点
 | 
	
		
			
				|  |  |         SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
 | 
	
		
			
				|  |  |         String now = f.format(new Date());
 | 
	
		
			
				|  |  |         String sql = "SELECT DISTINCT p.id patient, p.`name`, " +
 | 
	
		
			
				|  |  |                 "CASE p.sex WHEN 1 THEN '男' WHEN 2 THEN '女' END sex," +
 | 
	
		
			
				|  |  |                 "p.idcard, p.photo," +
 | 
	
		
			
				|  |  |                 " CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END date " +
 | 
	
		
			
				|  |  |                 "from wlyy_archive a,base_patient p WHERE  a.patient = p.id and a.sign_status = 1 and p.del=1 and EXISTS( " +
 | 
	
		
			
				|  |  |                 "SELECT DISTINCT sr.patient from base_service_package_sign_record sr,base_service_package_record r,base_service_package pack, " +
 | 
	
		
			
				|  |  |                 "base_team_member m " +
 | 
	
		
			
				|  |  |                 "WHERE  sr.id = r.sign_id and sr.patient = a.patient and r.service_package_id = pack.id  " +
 | 
	
		
			
				|  |  |                 "and m.team_code = r.team_code and m.doctor_code = '"+doctor+"' ) "+
 | 
	
		
			
				|  |  |                 " and (p.archive_status<>2 or p.archive_status is null) " +
 | 
	
		
			
				|  |  |                 "AND CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END =  '" + dateString + "' " ;
 | 
	
		
			
				|  |  |         List<Map<String, Object>> patientInfos =  jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         BaseDoctorDO baseDoctorDO = doctorDao.findById(doctor);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(null==baseDoctorDO){
 | 
	
		
			
				|  |  |             return new ArrayList<>();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String, Object>> patientInfos = new ArrayList<>();
 | 
	
		
			
				|  |  |         if (2==baseDoctorDO.getLevel()){
 | 
	
		
			
				|  |  |             String sql = "SELECT DISTINCT p.id patient, p.`name`, " +
 | 
	
		
			
				|  |  |                     "CASE p.sex WHEN 1 THEN '男' WHEN 2 THEN '女' END sex," +
 | 
	
		
			
				|  |  |                     "p.idcard, p.photo," +
 | 
	
		
			
				|  |  |                     " CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END date " +
 | 
	
		
			
				|  |  |                     "from wlyy_archive a,base_patient p WHERE  a.patient = p.id and a.sign_status = 1 and p.del=1 and EXISTS( " +
 | 
	
		
			
				|  |  |                     "SELECT DISTINCT sr.patient from base_service_package_sign_record sr,base_service_package_record r,base_service_package pack, " +
 | 
	
		
			
				|  |  |                     "base_team_member m " +
 | 
	
		
			
				|  |  |                     "WHERE  sr.id = r.sign_id and sr.patient = a.patient and r.service_package_id = pack.id  " +
 | 
	
		
			
				|  |  |                     "and m.team_code = r.team_code and m.doctor_code = '"+doctor+"' ) "+
 | 
	
		
			
				|  |  |                     " and (p.archive_status<>2 or p.archive_status is null) " +
 | 
	
		
			
				|  |  |                     "AND CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END =  '" + dateString + "' " ;
 | 
	
		
			
				|  |  |             patientInfos =  jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (4==baseDoctorDO.getLevel()){
 | 
	
		
			
				|  |  |             String sql = "SELECT DISTINCT p.id patient, p.`name`, " +
 | 
	
		
			
				|  |  |                     "CASE p.sex WHEN 1 THEN '男' WHEN 2 THEN '女' END sex," +
 | 
	
		
			
				|  |  |                     "p.idcard, p.photo," +
 | 
	
		
			
				|  |  |                     " CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END date " +
 | 
	
		
			
				|  |  |                     " from  base_patient p INNER JOIN base_patient_helper ph on p.id = ph.patient and ph.del=1 " +
 | 
	
		
			
				|  |  |                     " WHERE ph.doctor='"+doctor+"'   " +
 | 
	
		
			
				|  |  |                     " AND CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END =  '"+dateString+"'";
 | 
	
		
			
				|  |  |             patientInfos =  jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //整理未发送居民信息
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = patientInfos.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()){
 | 
	
	
		
			
				|  | @ -233,15 +252,29 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |         //获取当天0点
 | 
	
		
			
				|  |  |         SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
 | 
	
		
			
				|  |  |         String now = f.format(new Date());
 | 
	
		
			
				|  |  |         String sql = "SELECT DISTINCT p.id " +
 | 
	
		
			
				|  |  |                 "from wlyy_archive a,base_patient p WHERE  a.patient = p.id and p.del=1 and a.sign_status = 1 and EXISTS( " +
 | 
	
		
			
				|  |  |                 "SELECT DISTINCT sr.patient from base_service_package_sign_record sr,base_service_package_record r, " +
 | 
	
		
			
				|  |  |                 "base_team_member m " +
 | 
	
		
			
				|  |  |                 "WHERE  sr.id = r.sign_id and sr.patient = a.patient and sr.id = r.sign_id " +
 | 
	
		
			
				|  |  |                 "and m.team_code = r.team_code and m.doctor_code = '"+doctor+"' ) "+
 | 
	
		
			
				|  |  |                 " and (p.archive_status<>2 or p.archive_status is null) " +
 | 
	
		
			
				|  |  |                 "AND CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END =  '" + dateString + "'  " ;
 | 
	
		
			
				|  |  |         List<String> patientInfos =  jdbcTemplate.queryForList(sql,String.class);
 | 
	
		
			
				|  |  |         BaseDoctorDO baseDoctorDO = doctorDao.findById(doctor);
 | 
	
		
			
				|  |  |         if(null==baseDoctorDO){
 | 
	
		
			
				|  |  |             return 0;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql="";
 | 
	
		
			
				|  |  |         List<String> patientInfos = new ArrayList<>();
 | 
	
		
			
				|  |  |         if (2==baseDoctorDO.getLevel()){
 | 
	
		
			
				|  |  |             sql = "SELECT DISTINCT p.id " +
 | 
	
		
			
				|  |  |                     "from wlyy_archive a,base_patient p WHERE  a.patient = p.id and p.del=1 and a.sign_status = 1 and EXISTS( " +
 | 
	
		
			
				|  |  |                     "SELECT DISTINCT sr.patient from base_service_package_sign_record sr,base_service_package_record r, " +
 | 
	
		
			
				|  |  |                     "base_team_member m " +
 | 
	
		
			
				|  |  |                     "WHERE  sr.id = r.sign_id and sr.patient = a.patient and sr.id = r.sign_id " +
 | 
	
		
			
				|  |  |                     "and m.team_code = r.team_code and m.doctor_code = '"+doctor+"' ) "+
 | 
	
		
			
				|  |  |                     " and (p.archive_status<>2 or p.archive_status is null) " +
 | 
	
		
			
				|  |  |                     "AND CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END =  '" + dateString + "'  " ;
 | 
	
		
			
				|  |  |             patientInfos =  jdbcTemplate.queryForList(sql,String.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (4==baseDoctorDO.getLevel()) {
 | 
	
		
			
				|  |  |             sql = "SELECT DISTINCT p.id from  base_patient p INNER JOIN base_patient_helper ph on p.id = ph.patient and ph.del=1 " +
 | 
	
		
			
				|  |  |                     " WHERE ph.doctor='"+doctor+"' " +
 | 
	
		
			
				|  |  |                     "AND CASE LENGTH(p.idcard) WHEN  18 then SUBSTR(p.idcard,11,4) when 15 then SUBSTR(p.idcard, 9,4) END =  '" + dateString + "'  " ;
 | 
	
		
			
				|  |  |             patientInfos =  jdbcTemplate.queryForList(sql,String.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         Integer count=0;
 | 
	
		
			
				|  |  |         for (String tmp:patientInfos){
 | 
	
		
			
				|  |  |             if (null == sendPatients){
 | 
	
	
		
			
				|  | @ -263,6 +296,7 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |         Map<String, Object> resultMap = new HashMap<>();
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = new ArrayList();
 | 
	
		
			
				|  |  |         Long allCount = 0l;
 | 
	
		
			
				|  |  |         String year = DateUtil.getNowYear()+"";
 | 
	
		
			
				|  |  |         //判断是否筛选推送条件,若未筛选则从数据库直接查生日居民,再进行匹配是否推送,若选择已推送则从推送记录查,若未发送则从未推送表查
 | 
	
		
			
				|  |  |         //社工签约患者
 | 
	
		
			
				|  |  |         String sql = " SELECT Distinct p.id patient,p.idcard,p.mobile,p.name,p.sex,p.id,p.photo," +
 | 
	
	
		
			
				|  | @ -324,7 +358,7 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         whereSql += "and DATE_FORMAT(sr.create_time,'%m%d')< CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END ";
 | 
	
		
			
				|  |  |         whereSql += "and DATE_FORMAT(ph.create_time,'%Y%m%d')<= CONCAT('"+year+"',(CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END)) ";
 | 
	
		
			
				|  |  |         sql = sql + whereSql + " ) order by birthday limit "+(page-1)*pageSize + "," + pageSize;
 | 
	
		
			
				|  |  |         sqlCount = sqlCount + whereSql+")";
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -394,6 +428,7 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |         List<BirthDayWishesToPatient> list = new ArrayList<>();
 | 
	
		
			
				|  |  |         List<BirthDayWishesToPatient> birthdayWishesList = new ArrayList<>();
 | 
	
		
			
				|  |  |         String p = json.get("patient") + "";
 | 
	
		
			
				|  |  |         p = "'"+p.replace(",","','")+"'";
 | 
	
		
			
				|  |  |         String doctorCode = json.get("doctorCode") + "";
 | 
	
		
			
				|  |  |         Integer sendType = (Integer) json.get("sendType");
 | 
	
		
			
				|  |  |         String currentUserRole = json.has("currentUserRole")?json.get("currentUserRole") + "":null;
 | 
	
	
		
			
				|  | @ -421,7 +456,7 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |         Set<String> openidSet = new HashSet<>();
 | 
	
		
			
				|  |  |         BaseDoctorDO doctor = doctorDao.findById(doctorCode);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sql = " select * from ( select p.id as patient,p.name,we.openid from base_patient p Left join  base_patient_wechat we on p.id = we.patient_id where p.id in ( "+p.toString()+") " +
 | 
	
		
			
				|  |  |         String sql = " select * from ( select p.id as patient,p.name,we.openid from base_patient p Left join  base_patient_wechat we on p.id = we.patient_id where p.id in ( "+p+") " +
 | 
	
		
			
				|  |  |                 "  order by we.create_time desc )A group by A.patient  ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> patientInfos = jdbcTemplate.queryForList(sql);
 | 
	
	
		
			
				|  | @ -565,4 +600,132 @@ public class BirthdayWishesService {
 | 
	
		
			
				|  |  |         return count;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /*****************************************助老员部分********************************************************************/
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取医生生日列表
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Map<String, Object> helperGetBirthdayPatientList(String doctorCode, String patientName, Integer signYear, String startDate, String endDate, Integer status, String currentUserRole, String currentUserRoleLevel,
 | 
	
		
			
				|  |  |                                                       Integer roleType, Integer page, Integer pageSize) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String year = DateUtil.getNowYear()+"";
 | 
	
		
			
				|  |  |         Map<String, Object> resultMap = new HashMap<>();
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = new ArrayList();
 | 
	
		
			
				|  |  |         Long allCount = 0l;
 | 
	
		
			
				|  |  |         //判断是否筛选推送条件,若未筛选则从数据库直接查生日居民,再进行匹配是否推送,若选择已推送则从推送记录查,若未发送则从未推送表查
 | 
	
		
			
				|  |  |         //社工签约患者
 | 
	
		
			
				|  |  |         String sql = " SELECT Distinct p.id patient,p.idcard,p.mobile,p.name,p.sex,p.id,p.photo," +
 | 
	
		
			
				|  |  |                 "CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END birthday  " ;
 | 
	
		
			
				|  |  |         String sqlCount = "SELECT count(distinct p.idcard) ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String whereSql = " from  base_patient p INNER JOIN base_patient_helper ph on p.id = ph.patient and ph.del=1 ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //根据权限获取生日居民列表
 | 
	
		
			
				|  |  |         if (roleType == 1) {
 | 
	
		
			
				|  |  |             whereSql += " WHERE ph.doctor='"+doctorCode+"' ";
 | 
	
		
			
				|  |  |         } else {//管理员
 | 
	
		
			
				|  |  |             switch (currentUserRoleLevel) {
 | 
	
		
			
				|  |  |                 case "1": {//省
 | 
	
		
			
				|  |  |                     whereSql += " INNER JOIN base_doctor_hospital dh on ph.doctor = dh.doctor_code and dh.del=1 INNER JOIN base_org org on dh.org_code = org.code and org.del=1\n" +
 | 
	
		
			
				|  |  |                             " where org.province_code='"+currentUserRole+"'  ";
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 case "2": {//市
 | 
	
		
			
				|  |  |                     whereSql += " INNER JOIN base_doctor_hospital dh on ph.doctor = dh.doctor_code and dh.del=1 INNER JOIN base_org org on dh.org_code = org.code and org.del=1\n" +
 | 
	
		
			
				|  |  |                             " where org.city_code='"+currentUserRole+"'  ";
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 case "3": {//区
 | 
	
		
			
				|  |  |                     whereSql += " INNER JOIN base_doctor_hospital dh on ph.doctor = dh.doctor_code and dh.del=1 INNER JOIN base_org org on dh.org_code = org.code and org.del=1\n" +
 | 
	
		
			
				|  |  |                             " where org.town_code='"+currentUserRole+"'  ";
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 case "4": {//社区机构
 | 
	
		
			
				|  |  |                     whereSql += " INNER JOIN base_doctor_hospital dh on ph.doctor = dh.doctor_code and dh.del=1 INNER JOIN base_org org on dh.org_code = org.code and org.del=1\n" +
 | 
	
		
			
				|  |  |                             " where org.code='"+currentUserRole+"' ";
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(patientName)) {
 | 
	
		
			
				|  |  |             whereSql += " and p.name like '%" + patientName + "%' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
 | 
	
		
			
				|  |  |             String start = startDate.substring(4).replace("-", "");
 | 
	
		
			
				|  |  |             String end = endDate.substring(4).replace("-", "");
 | 
	
		
			
				|  |  |             Integer birStart = Integer.parseInt(start);
 | 
	
		
			
				|  |  |             Integer birEnd = Integer.parseInt(end);
 | 
	
		
			
				|  |  |             //判断生日日期
 | 
	
		
			
				|  |  |             if(birEnd > birStart) {
 | 
	
		
			
				|  |  |                 whereSql += " AND CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END >= '" + start + "' " +
 | 
	
		
			
				|  |  |                         " AND CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END <= '" + end + "' ";
 | 
	
		
			
				|  |  |             }else if(birEnd < birStart){
 | 
	
		
			
				|  |  |                 whereSql += " AND CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END >= '" + end + "' " +
 | 
	
		
			
				|  |  |                         " AND CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END <= '" + start + "' ";
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 whereSql += " AND CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END = '" + end + "' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         whereSql += "and DATE_FORMAT(ph.create_time,'%Y%m%d')<= CONCAT('"+year+"',(CASE LENGTH(p.idcard) WHEN 18 THEN SUBSTR(p.idcard, 11, 4) WHEN 15 THEN SUBSTR(p.idcard, 9, 4) END)) ";
 | 
	
		
			
				|  |  |         sql = sql + whereSql + "  order by birthday limit "+(page-1)*pageSize + "," + pageSize;
 | 
	
		
			
				|  |  |         sqlCount = sqlCount + whereSql ;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         allCount = jdbcTemplate.queryForObject(sqlCount, Long.class);
 | 
	
		
			
				|  |  |         resultMap.put("total", allCount);
 | 
	
		
			
				|  |  |         //获取生日居民code
 | 
	
		
			
				|  |  |         String patientString = "";
 | 
	
		
			
				|  |  |         for (Map<String, Object> map : list) {
 | 
	
		
			
				|  |  |             patientString += "'"+ map.get("patient") + "',";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(patientString.length() > 0) {
 | 
	
		
			
				|  |  |             //查询该居民是否有推送过
 | 
	
		
			
				|  |  |             String es = "SELECT patient_code patientCode,doctor_name doctorName,content,birthday,create_time createTime FROM birthday_wishes_to_patient where patient_code in (" + patientString.substring(0, patientString.length() - 1) + ") and user_type =1 and create_time > '" + startDate + " 00:00:00' and create_time < '" + endDate + " 23:59:59'";
 | 
	
		
			
				|  |  |             List<Map<String, Object>> sendPatientList = jdbcTemplate.queryForList(es);
 | 
	
		
			
				|  |  |             Set<String> patientSet = new HashSet<>();
 | 
	
		
			
				|  |  |             for (Map<String, Object> map : list) {
 | 
	
		
			
				|  |  |                 String patientCode = map.get("patient") + "";
 | 
	
		
			
				|  |  |                 //判断是否在推送记录里
 | 
	
		
			
				|  |  |                 if( null == status || 1 == status  ) {
 | 
	
		
			
				|  |  |                     for (Map<String, Object> esMap : sendPatientList) {
 | 
	
		
			
				|  |  |                         if (patientCode.equals(esMap.get("patientCode") + "")) {
 | 
	
		
			
				|  |  |                             map.put("birthday", esMap.get("birthday") + "");
 | 
	
		
			
				|  |  |                             map.put("doctorName", esMap.get("doctorName") + "");
 | 
	
		
			
				|  |  |                             map.put("content", esMap.get("content") + "");
 | 
	
		
			
				|  |  |                             map.put("createTimeStr", (esMap.get("createTime") + "").replace("T", " ").replace("+0800", ""));
 | 
	
		
			
				|  |  |                             Date dateTmp = DateUtil.strToDate(esMap.get("createTime") + "");
 | 
	
		
			
				|  |  |                             map.put("createTime", (DateUtil.dateToChineseDate(dateTmp)));
 | 
	
		
			
				|  |  |                             map.put("status", "已发送");
 | 
	
		
			
				|  |  |                             BasePatientDO patientDO = patientDao.findById(map.get("patient") + "");
 | 
	
		
			
				|  |  |                             map.put("patientBirthday", IdCardUtil.getBirthdayForIdcardStr(patientDO.getIdcard()));
 | 
	
		
			
				|  |  |                             patientSet.add(patientCode);
 | 
	
		
			
				|  |  |                             resultList.add(map);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(null == status || 2 == status) {
 | 
	
		
			
				|  |  |                 //存取未发送居民
 | 
	
		
			
				|  |  |                 for (Map<String, Object> map : list) {
 | 
	
		
			
				|  |  |                     String patientCode = map.get("patient") + "";
 | 
	
		
			
				|  |  |                     if (!patientSet.contains(patientCode)) {
 | 
	
		
			
				|  |  |                         String birthday = map.get("birthday")+"日";
 | 
	
		
			
				|  |  |                         StringBuilder bir = new StringBuilder(birthday);
 | 
	
		
			
				|  |  |                         bir.insert(2, "月");
 | 
	
		
			
				|  |  |                         map.put("birthday", bir.toString());
 | 
	
		
			
				|  |  |                         map.put("status", "未发送");
 | 
	
		
			
				|  |  |                         BasePatientDO patientDO = patientDao.findById(map.get("patient") + "");
 | 
	
		
			
				|  |  |                         map.put("patientBirthday", IdCardUtil.getBirthdayForIdcardStr(patientDO.getIdcard()));
 | 
	
		
			
				|  |  |                         resultList.add(map);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         resultMap.put("detailModelList", resultList);
 | 
	
		
			
				|  |  |         resultMap.put("total", allCount);
 | 
	
		
			
				|  |  |         resultMap.put("pageCount", allCount%pageSize == 0 ?allCount/pageSize : allCount/pageSize +1);
 | 
	
		
			
				|  |  |         return resultMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |