| 
					
				 | 
			
			
				@ -246,4 +246,49 @@ public class ArchiveService extends BaseJpaService<ArchiveDO, ArchiveDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = jdbcTemplate.queryForObject(countSql+filters,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("success",list,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop<List<Map<String,Object>>> helperArchiveList(String doctorId,String hospital, int page, int size,Integer signStatus,String name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = doctorDao.findById(doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==doctorDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (4!=doctorDO.getLevel()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String countSql = " select count(distinct p.id)  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String  sql = " SELECT a.create_time,p.openid,p.pad_imei padImei,p.idcard,p.mobile,p.name,p.sex,p.id,p.photo,CAST(a.sign_status AS char) sign_status  " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filter = "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_item i,base_team_member m " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "WHERE  sr.id = r.sign_id and sr.patient = a.patient and sr.status=1 and r.service_package_id = i.service_package_id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "and i.del = 1 and m.team_code = r.team_code " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(hospital)){// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter += " and m.org_code='"+hospital+"'   "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter += " and p.name like '%"+name+"%'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        filter+= " and m.del = '1' and sr.`status`=1 ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql= sql+filter+ " group by p.id   "+"LIMIT "+ (page - 1) * size + "," + size ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String,Object> map :list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String idcard = map.get("idcard").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String patientId = map.get("id").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sign_status = map.get("sign_status").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("createTime", map.get("create_time").toString().substring(0,19)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("age", IdCardUtil.getAgeForIdcard(idcard)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if("1".endsWith(sign_status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("servicePackageList",servicePackageService.getServicePackageListByPatient(patientId,null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("deviceType",deviceService.getPatientDeviceCategoryCode(map.get("id").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> doctorList = servicePackageService.getServerDoctorAll(map.get("id").toString(),"0","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> helperList = servicePackageService.getServerDoctorAll(map.get("id").toString(),"0","2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("helper", helperList.size()>0?1:0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("doctor", doctorList.size()>0?1:0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = jdbcTemplate.queryForObject(countSql+filter,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("success",list,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |