|
@ -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);
|
|
|
}
|
|
|
}
|