|
@ -42,7 +42,8 @@ public class RehabilitationManageService {
|
|
private GuidanceMessageLogDao guidanceMessageLogDao;
|
|
private GuidanceMessageLogDao guidanceMessageLogDao;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 康复管理-- 计划列表
|
|
|
|
|
|
* 康复管理(专科)-- 计划列表
|
|
|
|
* @param doctorType 1.专科,2.家医
|
|
* @param doctorCode
|
|
* @param doctorCode
|
|
* @param diseaseCode
|
|
* @param diseaseCode
|
|
* @param planType
|
|
* @param planType
|
|
@ -52,29 +53,47 @@ public class RehabilitationManageService {
|
|
* @return
|
|
* @return
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
public MixEnvelop<Map<String,Object>, Map<String,Object>> findRehabilitationPlan(String doctorCode, String diseaseCode, Integer planType,Integer todaybacklog, String patientCondition,Integer page, Integer pageSize) throws Exception{
|
|
|
|
|
|
public MixEnvelop<Map<String,Object>, Map<String,Object>> findRehabilitationPlan(Integer doctorType,String doctorCode, String diseaseCode, Integer planType,Integer todaybacklog, String patientCondition,Integer page, Integer pageSize) throws Exception{
|
|
|
|
|
|
String leftSql =" left join "+basedb+".wlyy_sign_family f on f.patient=p.patient ";
|
|
|
|
if(StringUtils.isNotEmpty(diseaseCode)){
|
|
|
|
leftSql += " left join "+basedb+".wlyy_patient_disease_server s on p.patient=s.patient and s.del=1 and s.disease ='"+diseaseCode+"'" ;
|
|
|
|
}
|
|
|
|
|
|
String leftSql =" left join "+basedb+".wlyy_sign_family f on f.patient=p.patient and f.expenses_status='1' and f.status=1 ";
|
|
|
|
// if(StringUtils.isNotEmpty(diseaseCode)){
|
|
|
|
// leftSql += " left join "+basedb+".wlyy_patient_disease_server s on p.patient=s.patient and s.del=1 and s.disease ='"+diseaseCode+"'" ;
|
|
|
|
// }
|
|
String sql = " select p.*,f.idcard,f.hospital_name from wlyy_specialist.wlyy_patient_rehabilitation_plan p " +leftSql+
|
|
String sql = " select p.*,f.idcard,f.hospital_name from wlyy_specialist.wlyy_patient_rehabilitation_plan p " +leftSql+
|
|
" where (p.create_user in (select r.health_assistant assistant from " +
|
|
|
|
" wlyy_specialist.wlyy_specialist_patient_relation r where r.health_assistant is not null) " +
|
|
|
|
" or p.create_user='"+doctorCode+"') " ;
|
|
|
|
|
|
" where 1=1 " ;
|
|
|
|
if(doctorType==1){//专科医生是根据计划的创建者字段过滤
|
|
|
|
sql+=" and (p.create_user in (select r.doctor assistant from " +
|
|
|
|
" wlyy_specialist.wlyy_specialist_patient_relation r where r.health_assistant ='"+doctorCode+"') " +
|
|
|
|
" or p.create_user='"+doctorCode+"') ";
|
|
|
|
}
|
|
if(planType!=null){
|
|
if(planType!=null){
|
|
sql += " and p.plan_type="+planType;
|
|
sql += " and p.plan_type="+planType;
|
|
}
|
|
}
|
|
|
|
if(StringUtils.isNotEmpty(diseaseCode)){
|
|
|
|
sql+=" and p.disease='"+diseaseCode+"'";
|
|
|
|
}
|
|
if(StringUtils.isNotEmpty(patientCondition)){
|
|
if(StringUtils.isNotEmpty(patientCondition)){
|
|
sql += " and (f.idcard like '%"+patientCondition+"%' or p.name like '%"+patientCondition+"%') ";
|
|
sql += " and (f.idcard like '%"+patientCondition+"%' or p.name like '%"+patientCondition+"%') ";
|
|
}
|
|
}
|
|
String finalSql = "";
|
|
String finalSql = "";
|
|
|
|
|
|
|
|
String todayStart = DateUtil.getStringDateShort()+" "+"00:00:00";
|
|
|
|
String todayEnd = DateUtil.getStringDateShort()+" "+"23:59:59";
|
|
|
|
String condition ="";
|
|
|
|
if(doctorType==2){//家医是根据计划详情表的执行者字段过滤
|
|
|
|
condition+=" and doctor='"+doctorCode+"' ";
|
|
|
|
}
|
|
if(todaybacklog!=null&&todaybacklog==1){
|
|
if(todaybacklog!=null&&todaybacklog==1){
|
|
finalSql = " select b.* from (select DISTINCT program_id wlyy_rehabilitation_plan_detail where execute_time>='' and execute_time<='') a "+
|
|
|
|
"LEFT JOIN ("+sql+") b on a.program_id=b.id";
|
|
|
|
}else{
|
|
|
|
finalSql = " select b.* from ("+sql+") b ";
|
|
|
|
|
|
condition += " and execute_time>='"+todayStart+"' and execute_time<='"+todayEnd+"'";
|
|
}
|
|
}
|
|
|
|
finalSql =" select DISTINCT b.* from (select DISTINCT plan_id from wlyy_specialist.wlyy_rehabilitation_plan_detail where 1=1 "+condition+") a " +
|
|
|
|
" LEFT JOIN ("+sql+") b on a.plan_id=b.id ";
|
|
|
|
// if(todaybacklog!=null&&todaybacklog==1){
|
|
|
|
// finalSql = " select DISTINCT b.* from (select DISTINCT plan_id from wlyy_specialist.wlyy_rehabilitation_plan_detail where execute_time>='"+todayStart+"' and execute_time<='"+todayEnd+"') a "+
|
|
|
|
// "LEFT JOIN ("+sql+") b on a.plan_id=b.id";
|
|
|
|
// }else{
|
|
|
|
// finalSql = " select b.* from ("+sql+") b ";
|
|
|
|
// }
|
|
List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(finalSql);
|
|
List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(finalSql);
|
|
int count = 0;
|
|
int count = 0;
|
|
if(rstotal!=null&&rstotal.size()>0){
|
|
if(rstotal!=null&&rstotal.size()>0){
|
|
@ -91,7 +110,7 @@ public class RehabilitationManageService {
|
|
resultMap.put("hospitalName",one.get("hospital_name"));
|
|
resultMap.put("hospitalName",one.get("hospital_name"));
|
|
resultMap.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
|
|
resultMap.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
|
|
resultMap.put("patientName",one.get("name"));
|
|
resultMap.put("patientName",one.get("name"));
|
|
|
|
|
|
|
|
resultMap.put("id",one.get("id"));
|
|
//健康情况
|
|
//健康情况
|
|
resultMap.put("healthyCondition","康复期");
|
|
resultMap.put("healthyCondition","康复期");
|
|
//安排类型
|
|
//安排类型
|
|
@ -109,15 +128,15 @@ public class RehabilitationManageService {
|
|
Integer todayBacklogCount = rehabilitationDetailDao.todayBacklogCount(1,one.get("id").toString(),beginTime,endTime);
|
|
Integer todayBacklogCount = rehabilitationDetailDao.todayBacklogCount(1,one.get("id").toString(),beginTime,endTime);
|
|
resultMap.put("todayBacklogCount",todayBacklogCount);//今日待办总数
|
|
resultMap.put("todayBacklogCount",todayBacklogCount);//今日待办总数
|
|
//已完成
|
|
//已完成
|
|
Integer finishedCount = rehabilitationDetailDao.completenessCount(2,one.get("id").toString());
|
|
|
|
|
|
Integer finishedCount = rehabilitationDetailDao.completenessCount(1,one.get("id").toString());
|
|
resultMap.put("finishedCount",finishedCount);//已完成
|
|
resultMap.put("finishedCount",finishedCount);//已完成
|
|
//未完成
|
|
//未完成
|
|
Integer notstartedCount = rehabilitationDetailDao.completenessCount(1,one.get("id").toString());//未开始
|
|
|
|
Integer underwayCount = rehabilitationDetailDao.completenessCount(1,one.get("id").toString());//进行中
|
|
|
|
|
|
Integer notstartedCount = rehabilitationDetailDao.completenessCount(0,one.get("id").toString());//未开始
|
|
|
|
Integer underwayCount = rehabilitationDetailDao.completenessCount(2,one.get("id").toString());//已预约
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
resultMap.put("unfinishedCount",unfinishedCount);//未完成
|
|
resultMap.put("unfinishedCount",unfinishedCount);//未完成
|
|
//完成度(已完成/(已完成+未完成))
|
|
//完成度(已完成/(已完成+未完成))
|
|
resultMap.put("allCount",finishedCount+unfinishedCount);//未完成
|
|
|
|
|
|
resultMap.put("allCount",finishedCount+unfinishedCount);//全部
|
|
|
|
|
|
resultList.add(resultMap);
|
|
resultList.add(resultMap);
|
|
|
|
|
|
@ -218,6 +237,13 @@ public class RehabilitationManageService {
|
|
// }
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 康复管理更多计划
|
|
|
|
* @param doctorCode
|
|
|
|
* @param patientCode
|
|
|
|
* @return
|
|
|
|
* @throws Exception
|
|
|
|
*/
|
|
public MixEnvelop findRehabilitationPlanDetailList(String doctorCode,String patientCode) throws Exception{
|
|
public MixEnvelop findRehabilitationPlanDetailList(String doctorCode,String patientCode) throws Exception{
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
//专科医生
|
|
//专科医生
|
|
@ -226,20 +252,27 @@ public class RehabilitationManageService {
|
|
Map<String,Object> specialistMap = specialistRelationList.get(0);
|
|
Map<String,Object> specialistMap = specialistRelationList.get(0);
|
|
resultMap.put("specialistAdminTeamName",specialistMap.get("teamName"));
|
|
resultMap.put("specialistAdminTeamName",specialistMap.get("teamName"));
|
|
String specialistFinishItemSql = "";
|
|
String specialistFinishItemSql = "";
|
|
|
|
// Integer familyUnfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(signFamilyMap.get("doctor").toString(),signFamilyMap.get("doctor_health").toString(),patientCode,1);
|
|
|
|
// Integer familyFinishCount = rehabilitationDetailDao.findItemByDoctor(signFamilyMap.get("doctor").toString(),signFamilyMap.get("doctor_health").toString(),patientCode);
|
|
|
|
// Integer familyServiceCount = rehabilitationDetailDao.completeServiceByDoctor(signFamilyMap.get("doctor").toString(),signFamilyMap.get("doctor_health").toString(),patientCode,1);
|
|
|
|
|
|
resultMap.put("specialistFinishItemCount",specialistMap.get("teamName"));//完成项目
|
|
resultMap.put("specialistFinishItemCount",specialistMap.get("teamName"));//完成项目
|
|
resultMap.put("specialistServiceRecordCount",specialistMap.get("teamName"));//服务记录
|
|
resultMap.put("specialistServiceRecordCount",specialistMap.get("teamName"));//服务记录
|
|
|
|
|
|
//家庭医生
|
|
|
|
String signFamilySql = "SELECT f.*,t.name as teamName FROM wlyy.wlyy_sign_family f LEFT JOIN wlyy.wlyy_admin_team t on f.admin_team_code=t.id where f.status =1 and f.expenses_status=1 and f.patient='"+patientCode+"'";
|
|
|
|
|
|
//家庭医生(包括全科医生、健管师)
|
|
|
|
String signFamilySql = "SELECT f.*,t.name as teamName FROM wlyy.wlyy_sign_family f LEFT JOIN wlyy.wlyy_admin_team t on f.admin_team_code=t.id where f.status =1 and f.expenses_status='1' and f.patient='"+patientCode+"'";
|
|
List<Map<String,Object>> signFamilyList = jdbcTemplate.queryForList(signFamilySql);
|
|
List<Map<String,Object>> signFamilyList = jdbcTemplate.queryForList(signFamilySql);
|
|
Map<String,Object> signFamilyMap = signFamilyList.get(0);
|
|
Map<String,Object> signFamilyMap = signFamilyList.get(0);
|
|
resultMap.put("signFamilyAdminTeamName",signFamilyMap.get("teamName"));
|
|
resultMap.put("signFamilyAdminTeamName",signFamilyMap.get("teamName"));
|
|
resultMap.put("signFamilyFinishItemCount",specialistMap.get("teamName"));//完成项目
|
|
|
|
resultMap.put("signFamilyServiceRecordCount",specialistMap.get("teamName"));//服务记录
|
|
|
|
|
|
Integer familyUnfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(signFamilyMap.get("doctor").toString(),signFamilyMap.get("doctor_health").toString(),patientCode,1);
|
|
|
|
Integer familyFinishCount = rehabilitationDetailDao.findItemByDoctor(signFamilyMap.get("doctor").toString(),signFamilyMap.get("doctor_health").toString(),patientCode);
|
|
|
|
Integer familyServiceCount = rehabilitationDetailDao.completeServiceByDoctor(signFamilyMap.get("doctor").toString(),signFamilyMap.get("doctor_health").toString(),patientCode,1);
|
|
|
|
resultMap.put("signFamilyFinishItemCount",familyFinishCount-familyUnfinishCount);//完成项目
|
|
|
|
resultMap.put("signFamilyServiceRecordCount",familyServiceCount);//服务次数
|
|
|
|
|
|
//基础信息
|
|
//基础信息
|
|
resultMap.put("hospitalName",signFamilyMap.get("hospital_name"));
|
|
resultMap.put("hospitalName",signFamilyMap.get("hospital_name"));
|
|
Integer age = IdCardUtil.getAgeForIdcard(specialistMap.get("idcard")+"");
|
|
|
|
|
|
Integer age = IdCardUtil.getAgeForIdcard(signFamilyMap.get("idcard")+"");
|
|
String sex = IdCardUtil.getSexForIdcard_new(signFamilyMap.get("idcard")+"");
|
|
String sex = IdCardUtil.getSexForIdcard_new(signFamilyMap.get("idcard")+"");
|
|
resultMap.put("age",age);
|
|
resultMap.put("age",age);
|
|
resultMap.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
|
|
resultMap.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
|
|
@ -283,7 +316,7 @@ public class RehabilitationManageService {
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
resultMap.put("unfinishedCount",unfinishedCount);//未完成
|
|
resultMap.put("unfinishedCount",unfinishedCount);//未完成
|
|
//完成度(已完成/(已完成+未完成))
|
|
//完成度(已完成/(已完成+未完成))
|
|
resultMap.put("allCount",finishedCount+unfinishedCount);//未完成
|
|
|
|
|
|
resultMap.put("allCount",finishedCount+unfinishedCount);//总数
|
|
rehabilitationPlanList.add(resultMap);
|
|
rehabilitationPlanList.add(resultMap);
|
|
}
|
|
}
|
|
resultMap.put("rehabilitationPlanList",rehabilitationPlanList);
|
|
resultMap.put("rehabilitationPlanList",rehabilitationPlanList);
|
|
@ -470,4 +503,168 @@ public class RehabilitationManageService {
|
|
return MixEnvelop.getError("没有该服务项详情信息!");
|
|
return MixEnvelop.getError("没有该服务项详情信息!");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 居民详情新增康复管理
|
|
|
|
* @param patientCode
|
|
|
|
* @param healthDoctor
|
|
|
|
* @param healthDoctorName
|
|
|
|
* @param generalDoctor
|
|
|
|
* @param generalDoctorName
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public MixEnvelop patientRehabilitationDetail(String patientCode,String healthDoctor,String healthDoctorName,String generalDoctor,String generalDoctorName){
|
|
|
|
|
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
|
|
|
|
|
//个人基础信息(康复机构)
|
|
|
|
String patientInfoSql = " SELECT DISTINCT hospital_name from wlyy_specialist.wlyy_rehabilitation_plan_detail d LEFT JOIN wlyy_specialist.wlyy_patient_rehabilitation_plan p on d.plan_id=p.id " +
|
|
|
|
" where p.patient='"+patientCode+"' and p.status=1 ";
|
|
|
|
List<Map<String,Object>> patientInfoList = jdbcTemplate.queryForList(patientInfoSql);
|
|
|
|
Map<String,Object> patientInfo = new HashMap<>();
|
|
|
|
String rehabilitationOrg = "";
|
|
|
|
for(Map<String,Object> one:patientInfoList){
|
|
|
|
rehabilitationOrg+=","+one.get("hospital_name");
|
|
|
|
}
|
|
|
|
patientInfo.put("rehabilitationOrg",StringUtils.isNotEmpty(rehabilitationOrg)?rehabilitationOrg.substring(1):"");
|
|
|
|
resultMap.put("patientInfo",patientInfo);
|
|
|
|
|
|
|
|
//服务医生
|
|
|
|
//完成项目=全部的服务项目-未完成的服务项目
|
|
|
|
List<Map<String,Object>> serviceDoctorList = new ArrayList<>();
|
|
|
|
Map<String,Object> generalDoctorMap = new HashMap<>();
|
|
|
|
generalDoctorMap.put("type","全科医生");
|
|
|
|
generalDoctorMap.put("doctorName",generalDoctorName);
|
|
|
|
Integer generalUnfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(generalDoctor,patientCode,1);
|
|
|
|
Integer generalFinishCount = rehabilitationDetailDao.findItemByDoctor(generalDoctor,patientCode);
|
|
|
|
Integer generalServiceCount = rehabilitationDetailDao.completeServiceByDoctor(generalDoctor,patientCode,1);
|
|
|
|
generalDoctorMap.put("finishedItem",generalFinishCount-generalUnfinishCount);
|
|
|
|
generalDoctorMap.put("serviceCount",generalServiceCount);
|
|
|
|
serviceDoctorList.add(generalDoctorMap);
|
|
|
|
|
|
|
|
Map<String,Object> healthDoctorMap = new HashMap<>();
|
|
|
|
healthDoctorMap.put("type","健管师");
|
|
|
|
healthDoctorMap.put("doctorName",healthDoctorName);
|
|
|
|
Integer healthUnfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(healthDoctor,patientCode,1);
|
|
|
|
Integer healthFinishCount = rehabilitationDetailDao.findItemByDoctor(healthDoctor,patientCode);
|
|
|
|
Integer healthServiceCount = rehabilitationDetailDao.completeServiceByDoctor(healthDoctor,patientCode,1);
|
|
|
|
healthDoctorMap.put("finishedItem",healthFinishCount-healthUnfinishCount);
|
|
|
|
healthDoctorMap.put("serviceCount",healthServiceCount);
|
|
|
|
serviceDoctorList.add(healthDoctorMap);
|
|
|
|
|
|
|
|
String specialistRelationSql = "select * from wlyy_specialist.wlyy_specialist_patient_relation where patient='' and sign_status='1' and status='1'";
|
|
|
|
List<Map<String,Object>> specialistRelationList = jdbcTemplate.queryForList(specialistRelationSql);
|
|
|
|
for(Map<String,Object> one:specialistRelationList){
|
|
|
|
String doctor = one.get("doctor").toString();
|
|
|
|
String doctorName = one.get("doctorName").toString();
|
|
|
|
Integer unfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(doctor,patientCode,1);
|
|
|
|
Integer finishCount = rehabilitationDetailDao.findItemByDoctor(doctor,patientCode);
|
|
|
|
Integer serviceCount = rehabilitationDetailDao.completeServiceByDoctor(doctor,patientCode,1);
|
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
|
map.put("finishedItem",finishCount-unfinishCount);
|
|
|
|
map.put("serviceCount",serviceCount);
|
|
|
|
map.put("doctorName",doctorName);
|
|
|
|
healthDoctorMap.put("type","专科医生");
|
|
|
|
serviceDoctorList.add(map);
|
|
|
|
}
|
|
|
|
resultMap.put("serviceDoctorList",serviceDoctorList);
|
|
|
|
|
|
|
|
//康复计划
|
|
|
|
List<Map<String,Object>> planList = new ArrayList<>();
|
|
|
|
List<PatientRehabilitationPlanDO> list = patientRehabilitationPlanDao.findbyPatient(patientCode);
|
|
|
|
Integer planUnderway = 0;//进行中
|
|
|
|
Integer planFinish = 0;//已完成
|
|
|
|
for(PatientRehabilitationPlanDO one:list){
|
|
|
|
if(one.getStatus()==1){
|
|
|
|
planUnderway+=1;
|
|
|
|
}else if(one.getStatus()==2){
|
|
|
|
planFinish+=1;
|
|
|
|
}
|
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
|
//安排类型
|
|
|
|
String planTypeName = null;
|
|
|
|
Integer planTypeTemp = one.getPlanType();
|
|
|
|
switch (planTypeTemp){
|
|
|
|
case 1:planTypeName="康复计划" ;break;
|
|
|
|
case 2:planTypeName="(转)社区医院" ;break;
|
|
|
|
case 3:planTypeName="(转)转家庭病床" ;break;
|
|
|
|
}
|
|
|
|
map.put("planTypeName",planTypeName);
|
|
|
|
String statusName = "";
|
|
|
|
Integer status = one.getStatus();
|
|
|
|
switch (status){
|
|
|
|
case 0:{statusName="已中止";break;}
|
|
|
|
case 1:{statusName="进行中";break;}
|
|
|
|
case 2:{statusName="已完成";break;}
|
|
|
|
}
|
|
|
|
map.put("planTypeName",planTypeName);//安排类型名称
|
|
|
|
map.put("statusName",statusName);//状态名称
|
|
|
|
//已完成
|
|
|
|
Integer finishedCount = rehabilitationDetailDao.completenessCount(2,one.getId());
|
|
|
|
map.put("finishedCount",finishedCount);//已完成
|
|
|
|
//未完成
|
|
|
|
Integer notstartedCount = rehabilitationDetailDao.completenessCount(1,one.getId());//未开始
|
|
|
|
Integer underwayCount = rehabilitationDetailDao.completenessCount(1,one.getId());//进行中
|
|
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
|
|
map.put("unfinishedCount",unfinishedCount);//未完成
|
|
|
|
//完成度(已完成/(已完成+未完成))
|
|
|
|
map.put("allCount",finishedCount+unfinishedCount);//总数
|
|
|
|
List<RehabilitationDetailDO> detailList = rehabilitationDetailDao.getAllRehabilitationDetail(one.getId());
|
|
|
|
Date executeTimeStart = detailList.get(0).getExecuteTime();
|
|
|
|
Date executeTimeEnd = detailList.get(detailList.size()-1).getExecuteTime();
|
|
|
|
String executeStart = DateUtil.dateToStr(executeTimeStart,"yyyy/MM/dd");
|
|
|
|
String executeEnd = DateUtil.dateToStr(executeTimeEnd,"yyyy/MM/dd");
|
|
|
|
map.put("time",executeStart+"-"+executeEnd);
|
|
|
|
planList.add(map);
|
|
|
|
}
|
|
|
|
resultMap.put("planList",planList);
|
|
|
|
//康复计划-已完成、进行中
|
|
|
|
resultMap.put("planUnderway",planUnderway);//进行中
|
|
|
|
resultMap.put("planFinish",planFinish);//已完成
|
|
|
|
|
|
|
|
//近期康复相关记录
|
|
|
|
String currentTime = DateUtil.getStringDate();
|
|
|
|
String planDetailSql = " select d.*,i.content,i.title from wlyy_specialist.wlyy_rehabilitation_plan_detail d LEFT JOIN wlyy_hospital_service_item h on d.hospital_service_item_id=h.id" +
|
|
|
|
" LEFT JOIN wlyy_service_item i on i.id=h.service_item_id LEFT JOIN wlyy_specialist.wlyy_patient_rehabilitation_plan p on d.plan_id=p.id where p.patient='"+patientCode+"' and d.executeTime<='"+currentTime+"' order by executeTime desc";
|
|
|
|
List<Map<String,Object>> planDetails = jdbcTemplate.queryForList(planDetailSql);
|
|
|
|
List<Map<String,Object>> planDetailList = new ArrayList<>();
|
|
|
|
for(Map<String,Object> one:planDetails){
|
|
|
|
Date executeTimeDate = (Date)one.get("execute_time");
|
|
|
|
String executeTime = DateUtil.dateToStr(executeTimeDate,"yyyy/MM/dd HH:mm");
|
|
|
|
String content = one.get("content").toString();
|
|
|
|
String title = one.get("title").toString();
|
|
|
|
Integer status = (Integer)one.get("status");
|
|
|
|
String statusName = "";
|
|
|
|
switch (status){
|
|
|
|
case 0:{statusName="未完成";break;}
|
|
|
|
case 1:{statusName="已完成";break;}
|
|
|
|
case 2:{statusName="已预约";break;}
|
|
|
|
}
|
|
|
|
String id = one.get("id").toString();
|
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
|
map.put("id",id);//id
|
|
|
|
map.put("executeTime",executeTime);//执行时间
|
|
|
|
map.put("title",title);//项目标题
|
|
|
|
map.put("content",content);//项目内容
|
|
|
|
map.put("statusName",statusName);//状态名称
|
|
|
|
planDetailList.add(map);
|
|
|
|
}
|
|
|
|
resultMap.put("planDetailList",planDetailList);//康复相关记录列表
|
|
|
|
String planDetailCountSql = " select d.status as num from wlyy_specialist.wlyy_rehabilitation_plan_detail d LEFT JOIN wlyy_hospital_service_item h on d.hospital_service_item_id=h.id" +
|
|
|
|
" LEFT JOIN wlyy_service_item i on i.id=h.service_item_id LEFT JOIN wlyy_specialist.wlyy_patient_rehabilitation_plan p on d.plan_id=p.id where p.patient='"+patientCode+"'";
|
|
|
|
List<Map<String,Object>> planDetailList2 = jdbcTemplate.queryForList(planDetailCountSql);
|
|
|
|
Integer planDetailFinish = 0;
|
|
|
|
Integer planDetailUnfinish = 0;
|
|
|
|
for(Map<String,Object> one:planDetailList2){
|
|
|
|
|
|
|
|
Integer status = (Integer)one.get("status");
|
|
|
|
if(status==1){
|
|
|
|
planDetailFinish+=1;
|
|
|
|
}else{
|
|
|
|
planDetailUnfinish+=1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
resultMap.put("planDetailFinish",planDetailFinish);//已完成
|
|
|
|
resultMap.put("planDetailUnfinish",planDetailUnfinish);//未完成
|
|
|
|
return MixEnvelop.getSuccess(SpecialistMapping.api_success,resultMap);
|
|
|
|
}
|
|
}
|
|
}
|