|
@ -111,46 +111,51 @@ public class RehabilitationManageService {
|
|
|
finalSql += " ORDER BY b.create_time DESC LIMIT "+(page-1)*pageSize+","+pageSize;
|
|
|
List<Map<String,Object>> patientRehabilitationPlanDOList = jdbcTemplate.queryForList(finalSql);
|
|
|
List<Map<String,Object>> resultList = new ArrayList<>();
|
|
|
for(Map<String,Object> one:patientRehabilitationPlanDOList){
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
Integer age = IdCardUtil.getAgeForIdcard(one.get("idcard")+"");
|
|
|
String sex = IdCardUtil.getSexForIdcard_new(one.get("idcard")+"");
|
|
|
resultMap.put("age",age);
|
|
|
resultMap.put("hospitalName",one.get("hospital_name"));
|
|
|
resultMap.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
|
|
|
resultMap.put("patientName",one.get("name"));
|
|
|
resultMap.put("id",one.get("id"));
|
|
|
//健康情况
|
|
|
resultMap.put("healthyCondition","康复期");
|
|
|
//安排类型
|
|
|
String planTypeName = null;
|
|
|
Integer planTypeTemp = (Integer)one.get("plan_type");
|
|
|
switch (planTypeTemp){
|
|
|
case 1:planTypeName="康复计划" ;break;
|
|
|
case 2:planTypeName="(转)社区医院" ;break;
|
|
|
case 3:planTypeName="(转)转家庭病床" ;break;
|
|
|
}
|
|
|
resultMap.put("planTypeName",planTypeName);
|
|
|
//今日待办(即今日全部的项目)
|
|
|
Date beginTime = DateUtil.strToDateLong(DateUtil.getStringDateShort()+ " "+"00:00:00");
|
|
|
Date endTime = DateUtil.strToDateLong(DateUtil.getStringDateShort()+ " "+"23:59:59");
|
|
|
Integer todayBacklogCount = rehabilitationDetailDao.todayBacklogCount(one.get("id").toString(),beginTime,endTime);
|
|
|
resultMap.put("todayBacklogCount",todayBacklogCount);//今日待办总数
|
|
|
//已完成
|
|
|
Integer finishedCount = rehabilitationDetailDao.completenessCount(1,one.get("id").toString(),beginTime,endTime);
|
|
|
resultMap.put("finishedCount",finishedCount);//已完成
|
|
|
//未完成
|
|
|
Integer notstartedCount = rehabilitationDetailDao.completenessCount(0,one.get("id").toString(),beginTime,endTime);//未开始
|
|
|
Integer underwayCount = rehabilitationDetailDao.completenessCount(2,one.get("id").toString(),beginTime,endTime);//已预约
|
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
|
resultMap.put("unfinishedCount",unfinishedCount);//未完成
|
|
|
//完成度(已完成/(已完成+未完成))
|
|
|
Integer allFinishCount = rehabilitationDetailDao.findByStatusAndPlanId(1,one.get("id").toString());
|
|
|
Integer allCount = rehabilitationDetailDao.findAllByPlanId(one.get("id").toString());
|
|
|
resultMap.put("allCount",allCount);//总数
|
|
|
resultMap.put("allFinishCount",allFinishCount);//全部已完成数
|
|
|
resultList.add(resultMap);
|
|
|
if(patientRehabilitationPlanDOList.size()>0&&patientRehabilitationPlanDOList.get(0).get("id")!=null){
|
|
|
|
|
|
for(Map<String,Object> one:patientRehabilitationPlanDOList){
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
Integer age = IdCardUtil.getAgeForIdcard(one.get("idcard")+"");
|
|
|
String sex = IdCardUtil.getSexForIdcard_new(one.get("idcard")+"");
|
|
|
resultMap.put("age",age);
|
|
|
resultMap.put("hospitalName",one.get("hospital_name"));
|
|
|
resultMap.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
|
|
|
resultMap.put("patientName",one.get("name"));
|
|
|
resultMap.put("patientCode",one.get("patient"));
|
|
|
resultMap.put("id",one.get("id"));
|
|
|
resultMap.put("patientCode",one.get("patient"));
|
|
|
//健康情况
|
|
|
resultMap.put("healthyCondition","康复期");
|
|
|
//安排类型
|
|
|
String planTypeName = null;
|
|
|
Integer planTypeTemp = (Integer)one.get("plan_type");
|
|
|
switch (planTypeTemp){
|
|
|
case 1:planTypeName="康复计划" ;break;
|
|
|
case 2:planTypeName="(转)社区医院" ;break;
|
|
|
case 3:planTypeName="(转)转家庭病床" ;break;
|
|
|
}
|
|
|
resultMap.put("planTypeName",planTypeName);
|
|
|
//今日待办(即今日全部的项目)
|
|
|
Date beginTime = DateUtil.strToDateLong(DateUtil.getStringDateShort()+ " "+"00:00:00");
|
|
|
Date endTime = DateUtil.strToDateLong(DateUtil.getStringDateShort()+ " "+"23:59:59");
|
|
|
Integer todayBacklogCount = rehabilitationDetailDao.todayBacklogCount(one.get("id").toString(),beginTime,endTime);
|
|
|
resultMap.put("todayBacklogCount",todayBacklogCount);//今日待办总数
|
|
|
//已完成
|
|
|
Integer finishedCount = rehabilitationDetailDao.completenessCount(1,one.get("id").toString(),beginTime,endTime);
|
|
|
resultMap.put("finishedCount",finishedCount);//已完成
|
|
|
//未完成
|
|
|
Integer notstartedCount = rehabilitationDetailDao.completenessCount(0,one.get("id").toString(),beginTime,endTime);//未开始
|
|
|
Integer underwayCount = rehabilitationDetailDao.completenessCount(2,one.get("id").toString(),beginTime,endTime);//已预约
|
|
|
Integer unfinishedCount = notstartedCount+underwayCount;
|
|
|
resultMap.put("unfinishedCount",unfinishedCount);//未完成
|
|
|
//完成度(已完成/(已完成+未完成))
|
|
|
Integer allFinishCount = rehabilitationDetailDao.findByStatusAndPlanId(1,one.get("id").toString());
|
|
|
Integer allCount = rehabilitationDetailDao.findAllByPlanId(one.get("id").toString());
|
|
|
resultMap.put("allCount",allCount);//总数
|
|
|
resultMap.put("allFinishCount",allFinishCount);//全部已完成数
|
|
|
resultList.add(resultMap);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
return MixEnvelop.getSuccessListWithPage(SpecialistMapping.api_success,resultList,page,pageSize,Long.valueOf(count));
|
|
|
}
|
|
@ -386,7 +391,7 @@ public class RehabilitationManageService {
|
|
|
family.put("all",0);
|
|
|
family.put("finish",0);
|
|
|
}
|
|
|
if((Integer)one.get("status")!=1){
|
|
|
if((Integer)one.get("status")==1){
|
|
|
family.put("finish",family.get("finish")+1);
|
|
|
}
|
|
|
family.put("all",family.get("all")+1);
|
|
@ -401,7 +406,7 @@ public class RehabilitationManageService {
|
|
|
specialist.put("all",0);
|
|
|
specialist.put("finish",0);
|
|
|
}
|
|
|
if((Integer)one.get("status")!=1){
|
|
|
if((Integer)one.get("status")==1){
|
|
|
specialist.put("finish",(specialist.get("finish"))+1);
|
|
|
}
|
|
|
specialist.put("all",(specialist.get("all"))+1);
|
|
@ -414,7 +419,7 @@ public class RehabilitationManageService {
|
|
|
Map<String,Integer> family = new HashMap<>();
|
|
|
family.put("all",0);
|
|
|
family.put("finish",0);
|
|
|
if((Integer)one.get("status")!=1){
|
|
|
if((Integer)one.get("status")==1){
|
|
|
family.put("finish",family.get("finish")+1);
|
|
|
}
|
|
|
family.put("all",family.get("all")+1);
|
|
@ -423,7 +428,7 @@ public class RehabilitationManageService {
|
|
|
Map<String,Integer> specialist = new HashMap<>();
|
|
|
specialist.put("all",0);
|
|
|
specialist.put("finish",0);
|
|
|
if((Integer)one.get("status")!=1){
|
|
|
if((Integer)one.get("status")==1){
|
|
|
specialist.put("finish",specialist.get("finish")+1);
|
|
|
}
|
|
|
specialist.put("all",specialist.get("all")+1);
|
|
@ -461,7 +466,7 @@ public class RehabilitationManageService {
|
|
|
*/
|
|
|
public ObjEnvelop calendarPlanDetailList(String planId,Integer searchTask,Integer status,String doctorCode,String executeStartTime,String executeEndTime){
|
|
|
|
|
|
String sql = " select d.*,i.content,i.title from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
|
|
|
String sql = " select d.*,DATE_FORMAT(d.execute_time,'%Y/%m/%d %H:%i') as executeTime ,i.content,i.title from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
|
|
|
" LEFT JOIN wlyy_specialist.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 " +
|
|
|
" where d.execute_time>='"+executeStartTime+"' and d.execute_time<='"+executeEndTime+"' and d.plan_id='"+planId+"' " ;
|
|
@ -480,7 +485,7 @@ public class RehabilitationManageService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 服务项目内容列表
|
|
|
* 多个康复计划服务项目内容列表
|
|
|
* @param planDetailIds
|
|
|
* @return
|
|
|
* @throws Exception
|
|
@ -492,7 +497,8 @@ public class RehabilitationManageService {
|
|
|
planDetailList +=",'"+one+"'";
|
|
|
}
|
|
|
String planDetailResult = StringUtils.isNotEmpty(planDetailList)?planDetailList.substring(1):"";
|
|
|
String sql = "select i.title,i.content,i.type,d.id,d.execute_time,d.hospital_name,d.status,d.type,d.expense,p.doctor,p.patient " +
|
|
|
String sql = "select i.title,i.content,i.type,d.id,d.execute_time,d.hospital_name,d.status,d.type,d.expense,d.doctor as specialistDoctor," +
|
|
|
" d.doctor_name as specialistDoctorName,p.patient ,p.create_user ,p.create_user_name " +
|
|
|
" from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
|
|
|
" LEFT JOIN wlyy_specialist.wlyy_hospital_service_item h on d.hospital_service_item_id = h.id "+
|
|
|
" LEFT JOIN wlyy_specialist.wlyy_service_item i on i.id = h.service_item_id " +
|
|
@ -504,6 +510,12 @@ public class RehabilitationManageService {
|
|
|
List<Map<String,Object>> resultList = new ArrayList<>();
|
|
|
for(Map<String,Object> one:serviceItemList){
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
List<String> executeDoctorList = new ArrayList<>();
|
|
|
if(!(one.get("specialistDoctor")+"").equals((one.get("create_user")+""))){
|
|
|
executeDoctorList.add(one.get("create_user_name")+"");
|
|
|
}
|
|
|
executeDoctorList.add(one.get("specialistDoctorName")+"");
|
|
|
resultMap.put("executeDoctorList",executeDoctorList);
|
|
|
resultMap.put("title",one.get("title"));//项目标题
|
|
|
resultMap.put("shortExecuteTime",DateUtil.dateToStr((Date) one.get("execute_time"),DateUtil.HH_MM));//项目标题
|
|
|
resultMap.put("content",one.get("content"));//项目内容
|
|
@ -548,13 +560,14 @@ public class RehabilitationManageService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 单个服务项目内容
|
|
|
* 康复计划服务项目确认页
|
|
|
* @param planDetailId
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public ObjEnvelop serviceItem(String planDetailId) throws Exception{
|
|
|
String sql = "select i.title,i.content,i.type,d.id,d.execute_time,d.hospital_name,d.status,d.type,d.expense,p.doctor,p.patient " +
|
|
|
String sql = "select i.title,i.content,i.type as itemType,d.id,d.execute_time,d.hospital_name,d.status,d.type,d.expense,d.doctor as specialistDoctor, " +
|
|
|
" d.doctor_name as specialistDoctorName,p.patient ,p.create_user ,p.create_user_name " +
|
|
|
" from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
|
|
|
" LEFT JOIN wlyy_specialist.wlyy_hospital_service_item h on d.hospital_service_item_id = h.id "+
|
|
|
" LEFT JOIN wlyy_specialist.wlyy_service_item i on i.id = h.service_item_id " +
|
|
@ -563,6 +576,12 @@ public class RehabilitationManageService {
|
|
|
List<Map<String,Object>> serviceItemList = jdbcTemplate.queryForList(sql);
|
|
|
Map<String,Object> one = serviceItemList.get(0);
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
List<String> executeDoctorList = new ArrayList<>();
|
|
|
if(!(one.get("specialistDoctor")+"").equals((one.get("create_user")+""))){
|
|
|
executeDoctorList.add(one.get("create_user_name")+"");
|
|
|
}
|
|
|
executeDoctorList.add(one.get("specialistDoctorName")+"");
|
|
|
resultMap.put("executeDoctorList",executeDoctorList);
|
|
|
resultMap.put("title",one.get("title"));//项目标题
|
|
|
resultMap.put("shortExecuteTime",DateUtil.dateToStr((Date) one.get("execute_time"),DateUtil.HH_MM));//项目标题
|
|
|
resultMap.put("content",one.get("content"));//项目内容
|
|
@ -588,10 +607,10 @@ public class RehabilitationManageService {
|
|
|
map.put("createTime",DateUtil.dateToStr(one2.getCreateTime(),"MM-dd HH:mm"));
|
|
|
messageMapList.add(map);
|
|
|
}
|
|
|
Integer type = (Integer) one.get("type");
|
|
|
Integer itemType = (Integer) one.get("itemType");
|
|
|
resultMap.put("messageList",messageMapList);//指导与汇报记录
|
|
|
resultMap.put("patient",one.get("patient"));
|
|
|
resultMap.put("type",type);//1扫码、0上传附件、2、健康教育,3、健康指导,4、随访
|
|
|
resultMap.put("type",itemType);//1扫码、0上传附件、2、健康教育,3、健康指导,4、随访
|
|
|
|
|
|
//是否完成任务
|
|
|
List<RehabilitationOperateRecordsDO> operateList = rehabilitationOperateRecordsDao.findByRehabilitationDetailId(one.get("id").toString());
|
|
@ -603,13 +622,12 @@ public class RehabilitationManageService {
|
|
|
String completeTimeStr = DateUtil.dateToStr(completeTime,DateUtil.YYYY_MM_DD_HH_MM);
|
|
|
resultMap.put("completeTime",completeTimeStr);//完成时间
|
|
|
resultMap.put("operatorDoctorName",temp.getDoctorName());//执行医生名称
|
|
|
if(type!=1||type!=0){
|
|
|
if(itemType!=1&&itemType!=0){
|
|
|
resultMap.put("relationRecordCode",temp.getRelationRecordCode());
|
|
|
resultMap.put("completeTimeShort",DateUtil.dateToStr(completeTime,DateUtil.YYYY_MM_DD));
|
|
|
resultMap.put("completeTimeShort",DateUtil.dateToStr(completeTime,"yyyy/MM/dd"));
|
|
|
}
|
|
|
}
|
|
|
resultMap.put("operate",operate);//是否完成任务(默认0:未完成,1:已完成)
|
|
|
//完成信息
|
|
|
return ObjEnvelop.getSuccess(SpecialistMapping.api_success,resultMap);
|
|
|
}
|
|
|
|
|
@ -644,6 +662,7 @@ public class RehabilitationManageService {
|
|
|
Map<String,Object> generalDoctorMap = new HashMap<>();
|
|
|
generalDoctorMap.put("type","全科医生");
|
|
|
generalDoctorMap.put("doctorName",generalDoctorName);
|
|
|
generalDoctorMap.put("doctorCode",generalDoctor);
|
|
|
Integer generalUnfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(generalDoctor,patientCode,1);
|
|
|
Integer generalFinishCount = rehabilitationDetailDao.findItemByDoctor(generalDoctor,patientCode);
|
|
|
Integer generalServiceCount = rehabilitationDetailDao.completeServiceByDoctor(generalDoctor,patientCode,1);
|
|
@ -654,6 +673,7 @@ public class RehabilitationManageService {
|
|
|
Map<String,Object> healthDoctorMap = new HashMap<>();
|
|
|
healthDoctorMap.put("type","健管师");
|
|
|
healthDoctorMap.put("doctorName",healthDoctorName);
|
|
|
healthDoctorMap.put("doctorCode",healthDoctor);
|
|
|
Integer healthUnfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(healthDoctor,patientCode,1);
|
|
|
Integer healthFinishCount = rehabilitationDetailDao.findItemByDoctor(healthDoctor,patientCode);
|
|
|
Integer healthServiceCount = rehabilitationDetailDao.completeServiceByDoctor(healthDoctor,patientCode,1);
|
|
@ -661,11 +681,11 @@ public class RehabilitationManageService {
|
|
|
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'";
|
|
|
String specialistRelationSql = "select * from wlyy_specialist.wlyy_specialist_patient_relation where patient='"+patientCode+"' 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();
|
|
|
String doctor = one.get("doctor")+"";
|
|
|
String doctorName = one.get("doctor_name")+"";
|
|
|
Integer unfinishCount = rehabilitationDetailDao.unfinishItemByDoctor(doctor,patientCode,1);
|
|
|
Integer finishCount = rehabilitationDetailDao.findItemByDoctor(doctor,patientCode);
|
|
|
Integer serviceCount = rehabilitationDetailDao.completeServiceByDoctor(doctor,patientCode,1);
|
|
@ -673,14 +693,15 @@ public class RehabilitationManageService {
|
|
|
map.put("finishedItem",finishCount-unfinishCount);
|
|
|
map.put("serviceCount",serviceCount);
|
|
|
map.put("doctorName",doctorName);
|
|
|
healthDoctorMap.put("type","专科医生");
|
|
|
map.put("doctorCode",doctor);
|
|
|
map.put("type","专科医生");
|
|
|
serviceDoctorList.add(map);
|
|
|
}
|
|
|
resultMap.put("serviceDoctorList",serviceDoctorList);
|
|
|
|
|
|
//康复计划
|
|
|
List<Map<String,Object>> planList = new ArrayList<>();
|
|
|
List<PatientRehabilitationPlanDO> list = patientRehabilitationPlanDao.findbyPatient(patientCode);
|
|
|
List<PatientRehabilitationPlanDO> list = patientRehabilitationPlanDao.findbyPatients(patientCode);
|
|
|
Integer planUnderway = 0;//进行中
|
|
|
Integer planFinish = 0;//已完成
|
|
|
for(PatientRehabilitationPlanDO one:list){
|
|
@ -720,11 +741,16 @@ public class RehabilitationManageService {
|
|
|
Integer allCount = rehabilitationDetailDao.findAllByPlanId(one.getId());
|
|
|
map.put("allCount",allCount);//总数
|
|
|
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);
|
|
|
if(detailList.size()>0){
|
|
|
|
|
|
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);
|
|
|
}else{
|
|
|
map.put("time","");
|
|
|
}
|
|
|
planList.add(map);
|
|
|
}
|
|
|
resultMap.put("planList",planList);
|
|
@ -785,19 +811,31 @@ public class RehabilitationManageService {
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
*/
|
|
|
public ObjEnvelop recentPlanDetailRecord(String patientCode,String startTime,String endTime){
|
|
|
public ObjEnvelop recentPlanDetailRecord(String patientCode,String startTime,String endTime,Integer page, Integer pageSize) throws Exception{
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
//近期康复相关记录
|
|
|
// 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>='"+startTime+"' and d.executeTime<='"+endTime+"' order by executeTime desc";
|
|
|
" 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 d.status=1 and p.patient='"+patientCode+"' ";
|
|
|
if(StringUtils.isNotEmpty(startTime)){
|
|
|
planDetailSql += " and d.execute_Time>='"+startTime+"' ";
|
|
|
}
|
|
|
if(StringUtils.isNotEmpty(endTime)){
|
|
|
planDetailSql += " and d.execute_time<='"+endTime+"' ";
|
|
|
}
|
|
|
// List<Map<String,Object>> planDetailsCount = jdbcTemplate.queryForList(planDetailSql);
|
|
|
// int count = 0;
|
|
|
// if(planDetailsCount!=null&&planDetailsCount.size()>0){
|
|
|
// count = planDetailsCount.size();
|
|
|
// }
|
|
|
planDetailSql += " ORDER BY d.execute_time DESC LIMIT "+(page-1)*pageSize+","+pageSize;
|
|
|
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();
|
|
|
String content = one.get("content")+"";
|
|
|
String title = one.get("title")+"";
|
|
|
Integer status = (Integer)one.get("status");
|
|
|
String statusName = "";
|
|
|
switch (status){
|
|
@ -822,7 +860,7 @@ public class RehabilitationManageService {
|
|
|
Integer planDetailUnfinish = 0;
|
|
|
for(Map<String,Object> one:planDetailList2){
|
|
|
|
|
|
Integer status = (Integer)one.get("status");
|
|
|
Integer status = (Integer)one.get("num");
|
|
|
if(status==1){
|
|
|
planDetailFinish+=1;
|
|
|
}else{
|
|
@ -842,7 +880,7 @@ public class RehabilitationManageService {
|
|
|
* @param doctorType 1、专科医生,2、家庭医生
|
|
|
*/
|
|
|
@Transactional
|
|
|
public Envelop saveGuidanceMessage(String messageId,String patient,String doctor,Integer doctorType,String content,String planDetailId){
|
|
|
public Envelop saveGuidanceMessage(String messageId,String patient,String doctor,Integer doctorType,String content,String planDetailId) throws Exception{
|
|
|
GuidanceMessageLogDO guidanceMessageLogDO = new GuidanceMessageLogDO();
|
|
|
guidanceMessageLogDO.setMessageId(messageId);
|
|
|
guidanceMessageLogDO.setPlanDetailId(planDetailId);
|
|
@ -869,7 +907,107 @@ public class RehabilitationManageService {
|
|
|
guidanceMessageLogDO.setAdminTeamCode(adminTeamCode);
|
|
|
guidanceMessageLogDO.setAdminTeamName(adminTeamName);
|
|
|
guidanceMessageLogDO.setDoctorName(doctorName);
|
|
|
guidanceMessageLogDO.setCreateTime(new Date());
|
|
|
guidanceMessageLogDao.save(guidanceMessageLogDO);
|
|
|
return Envelop.getSuccess(SpecialistMapping.api_success);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 康复管理-更新康复计划操作完成日志状态
|
|
|
* @param planDetailId
|
|
|
* @param status
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@Transactional
|
|
|
public Envelop updateStatusRehabilitationOperate(Integer status,String planDetailId){
|
|
|
if(rehabilitationOperateRecordsDao.updateStatus(status,planDetailId)>0){
|
|
|
|
|
|
return Envelop.getSuccess(SpecialistMapping.api_success);
|
|
|
}
|
|
|
return Envelop.getError("更新失败!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* app端居民详情服务医生列表
|
|
|
* @param patientCode
|
|
|
* @param healthDoctor
|
|
|
* @param healthDoctorName
|
|
|
* @param generalDoctor
|
|
|
* @param generalDoctorName
|
|
|
* @return
|
|
|
*/
|
|
|
public ObjEnvelop serviceDoctorList(String patientCode,String healthDoctor,String healthDoctorName,String generalDoctor,String generalDoctorName){
|
|
|
//服务医生
|
|
|
//完成项目=全部的服务项目-未完成的服务项目
|
|
|
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='"+patientCode+"' 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")+"";
|
|
|
String doctorName = one.get("doctor_name")+"";
|
|
|
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);
|
|
|
map.put("type","专科医生");
|
|
|
serviceDoctorList.add(map);
|
|
|
}
|
|
|
return ObjEnvelop.getSuccess(SpecialistMapping.api_success,serviceDoctorList);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* app端、微信端计划的服务项目列表
|
|
|
* @param planId
|
|
|
* @param searchTask
|
|
|
* @param status
|
|
|
* @param executeStartTime
|
|
|
* @param executeEndTime
|
|
|
* @return
|
|
|
*/
|
|
|
public ObjEnvelop appCalendarPlanDetailList(String planId,Integer searchTask,Integer status,String executeStartTime,String executeEndTime){
|
|
|
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
ObjEnvelop objEnvelop = calendarPlanDetailList(planId,searchTask,status,null,executeStartTime,executeEndTime);
|
|
|
Integer finishCount = rehabilitationDetailDao.findByStatusAndPlanId(1,planId);
|
|
|
Integer allCount = rehabilitationDetailDao.findAllByPlanId(planId);
|
|
|
resultMap.put("planDetailList",objEnvelop.getObj());
|
|
|
resultMap.put("finishCount",finishCount);
|
|
|
resultMap.put("allCount",allCount);
|
|
|
return ObjEnvelop.getSuccess(SpecialistMapping.api_success,resultMap);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 每日康复服务通知
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @return
|
|
|
*/
|
|
|
public ObjEnvelop dailyJob(String startTime,String endTime){
|
|
|
|
|
|
List<Map<String,Object>> list = rehabilitationDetailDao.dailyJob(startTime,endTime);
|
|
|
return ObjEnvelop.getSuccess(SpecialistMapping.api_success,list);
|
|
|
}
|
|
|
}
|