|
@ -13,6 +13,7 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
|
|
|
import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
|
|
|
import com.yihu.jw.entity.care.sign.CapacityAssessmentRecordDO;
|
|
|
import com.yihu.jw.im.util.ImUtil;
|
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.patient.service.BasePatientMedicardCardService;
|
|
|
import com.yihu.jw.restmodel.ResponseContant;
|
|
@ -59,6 +60,8 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
|
|
|
private CapacityAssessmentRecordService capacityAssessmentRecordService;
|
|
|
@Autowired
|
|
|
private PatientFamilyMemberService familyMemberService;
|
|
|
@Autowired
|
|
|
private ImUtil imUtil;
|
|
|
|
|
|
/**
|
|
|
* 签约记录
|
|
@ -389,4 +392,134 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* @param type 类型:1幼儿,2老人,3助老员,4医生。不传返回四个类型的数据
|
|
|
* @param name 姓名
|
|
|
* @param residentialArea 居住小区
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject findUserByType(String type,String name,String residentialArea,Integer page,Integer size){
|
|
|
JSONObject re = new JSONObject();
|
|
|
if(page == null){
|
|
|
page = 1;
|
|
|
}
|
|
|
if(size == null){
|
|
|
size = 3;
|
|
|
}
|
|
|
|
|
|
String online= imUtil.getOnlineListByType(null);
|
|
|
JSONObject json = JSON.parseObject(online).getJSONObject("data");
|
|
|
String limit = " limit "+(page-1)*size+","+size;
|
|
|
if("1".equals(type)||StringUtil.isBlank(type)){
|
|
|
List<Map<String,Object>> list = findChild(name,residentialArea,limit,json.getJSONObject("child"));
|
|
|
re.put("child",list);
|
|
|
}
|
|
|
if("2".equals(type)||StringUtil.isBlank(type)){
|
|
|
List<Map<String,Object>> list = findOld(name,residentialArea,limit,json);
|
|
|
re.put("old",list);
|
|
|
}
|
|
|
if("3".equals(type)||StringUtil.isBlank(type)){
|
|
|
List<Map<String,Object>> list = findHelper(name,limit,json.getJSONObject("helper"));
|
|
|
re.put("helper",list);
|
|
|
}
|
|
|
return re;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查找幼儿
|
|
|
* @param name
|
|
|
* @param residentialArea
|
|
|
* @param limit
|
|
|
* @param json
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String,Object>> findChild(String name,String residentialArea,String limit,JSONObject json){
|
|
|
String sql = "SELECT id,name,photo from base_patient WHERE archive_type = 2 and del = '1' ";
|
|
|
if(!StringUtil.isBlank(name)){
|
|
|
sql+= " and name like '%"+name+"%' ";
|
|
|
}
|
|
|
if(!StringUtil.isBlank(residentialArea)){
|
|
|
sql+= " and residential_area = '"+residentialArea+"' ";
|
|
|
}
|
|
|
sql+=limit;
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
String sqlCount = "SELECT COUNT(*) from base_door_coach_order where `status` = 6";
|
|
|
for (Map<String,Object> map:list){
|
|
|
String paientId = map.get("id").toString();
|
|
|
String filter = " and patient = '"+paientId+"'";
|
|
|
Integer count = jdbcTemplate.queryForObject(sqlCount+filter,Integer.class);
|
|
|
map.put("online",json.containsKey(paientId));
|
|
|
map.put("doorCoach",count);
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查找老人
|
|
|
* @param name
|
|
|
* @param residentialArea
|
|
|
* @param limit
|
|
|
* @param json
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String,Object>> findOld(String name,String residentialArea,String limit,JSONObject json){
|
|
|
String sql = "SELECT id,name,photo from base_patient WHERE archive_type = 1 and del = '1' ";
|
|
|
if(!StringUtil.isBlank(name)){
|
|
|
sql+= " and name like '%"+name+"%' ";
|
|
|
}
|
|
|
if(!StringUtil.isBlank(residentialArea)){
|
|
|
sql+= " and residential_area = '"+residentialArea+"' ";
|
|
|
}
|
|
|
sql+=limit;
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
String sqlLife= "SELECT COUNT(*) from base_life_care_order where `status` = 2";
|
|
|
String sqlEmergency= "SELECT COUNT(*) from base_emergency_assistance_order where `status` = 0";
|
|
|
String sqlSecurity= "SELECT COUNT(*) from base_security_monitoring_order where `status` = 7 ";
|
|
|
for (Map<String,Object> map:list){
|
|
|
String paientId = map.get("id").toString();
|
|
|
String filter = " and patient = '"+paientId+"'";
|
|
|
Integer lifeCare = jdbcTemplate.queryForObject(sqlLife+filter,Integer.class);
|
|
|
Integer emergency = jdbcTemplate.queryForObject(sqlEmergency+filter,Integer.class);
|
|
|
Integer security = jdbcTemplate.queryForObject(sqlSecurity+filter,Integer.class);
|
|
|
map.put("onlinePad",json.getJSONObject("olderPad").containsKey(paientId));
|
|
|
map.put("onlineWx",json.getJSONObject("olderWx").containsKey(paientId));
|
|
|
map.put("lifeCare",lifeCare);
|
|
|
map.put("emergency",emergency);
|
|
|
map.put("security",security);
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查找助老员
|
|
|
* @param name
|
|
|
* @param limit
|
|
|
* @param json
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String,Object>> findHelper(String name,String limit,JSONObject json){
|
|
|
String sql = "SELECT id,name,photo from base_doctor WHERE doctor_level = 2 and del = '1' ";
|
|
|
if(!StringUtil.isBlank(name)){
|
|
|
sql+= " and name like '%"+name+"%' ";
|
|
|
}
|
|
|
sql+=limit;
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
String sqlLife= "SELECT COUNT(*) from base_life_care_order where `status` = 2";
|
|
|
String sqlEmergency= "SELECT COUNT(*) from base_emergency_assistance_order where `status` = 0";
|
|
|
String sqlSecurity= "SELECT COUNT(*) from base_security_monitoring_order where `status` = 7 ";
|
|
|
for (Map<String,Object> map:list){
|
|
|
String doctorId = map.get("id").toString();
|
|
|
String filter = " and doctor = '"+doctorId+"'";
|
|
|
Integer lifeCare = jdbcTemplate.queryForObject(sqlLife+filter,Integer.class);
|
|
|
Integer emergency = jdbcTemplate.queryForObject(sqlEmergency+filter,Integer.class);
|
|
|
Integer security = jdbcTemplate.queryForObject(sqlSecurity+filter,Integer.class);
|
|
|
map.put("online",json.containsKey(doctorId));
|
|
|
map.put("lifeCare",lifeCare);
|
|
|
map.put("emergency",emergency);
|
|
|
map.put("security",security);
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
}
|