| 
					
				 | 
			
			
				@ -1948,20 +1948,133 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> findClinicRoomList(String dept) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<JSONObject> findClinicRoomList(String dept,String date) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(date)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            date = DateUtil.getStringDateShort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "id," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "doctor_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "clinic_status AS visit_status," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "patient_name AS patient_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "waiting_count AS waiting_count," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room_name AS room_name " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM wlyy_doctor_clinic_room "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取今天的排班列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String doctorsql ="SELECT doctor,doctor_name FROM wlyy_doctor_work_time WHERE date='"+date+"' GROUP BY doctor"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> doctorlist = jdbcTemplate.queryForList(doctorsql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HashMap<String ,JSONObject> result = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int i = 0; i < doctorlist.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("id",(String)doctorlist.get(0).get("doctor")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNoneBlank((String)doctorlist.get(0).get("doctor_name"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("doctor_name",(String)doctorlist.get(0).get("doctor_name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("doctor_name",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("visit_status",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("waiting_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("patient_name",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("time_cost",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put((String)doctorlist.get(0).get("doctor"),jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取预约了今天的候诊居民 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String waitingSql ="SELECT count(op.id) AS waitCount," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor AS doctor, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor_name AS doctorName " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM wlyy_outpatient op,wlyy_hospital_waiting_room room " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE op.`status`=0 AND room.outpatient_id=op.id AND room.consult_type=2 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND room.doctor IS NOT NULL " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND room.reservation_time>='"+date+" 00:00:00' AND room.reservation_time<='"+date+" 23:59:59' GROUP BY room.doctor; "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> waitinglist = jdbcTemplate.queryForList(waitingSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(waitinglist!=null&&waitinglist.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据身份证计算年龄 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> waitObj :waitinglist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String doctor = (String) waitObj.get("doctor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNoneBlank(doctor)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long waitCount = (Long) waitObj.get("waitCount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(result.keySet().contains(doctor)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("waiting_count",waitCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("id",doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_status",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("waiting_count",waitCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if(StringUtils.isNoneBlank((String)waitObj.get("doctorName"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name",(String)waitObj.get("doctorName")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("patient_name",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("time_cost",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put(doctor,jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取进行中的居民 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String onlineSql ="SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.outpatient_id AS id," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.patient_id AS patient_id," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.patient_name AS patient_name," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "patient.sex AS sex," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "patient.idcard AS idcard," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "patient.photo AS photo," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "patient.birthday AS birthday," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.consult_type AS consult_type," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.reservation_time AS time," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "TIMESTAMPDIFF(MINUTE, room.reservation_time,NOW()) AS time_cost," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor AS doctor, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor_name AS doctorName " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "wlyy_hospital_waiting_room room," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "base_patient patient," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "wlyy_outpatient outpatient," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "wlyy_consult_team consult " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.patient_id=patient.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND room.outpatient_id=outpatient.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND consult.relation_code=outpatient.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND outpatient.STATUS=1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND room.consult_type=2 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND room.reservation_time>='"+date+" 00:00:00' AND room.reservation_time<='"+date+" 23:59:59' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "GROUP BY room.doctor"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> onlinelist = jdbcTemplate.queryForList(onlineSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(waitinglist!=null&&waitinglist.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据身份证计算年龄 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Map<String,Object> onlineObj :onlinelist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String doctor = (String) onlineObj.get("doctor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNoneBlank(doctor)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(result.keySet().contains(doctor)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("visit_status",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("patient_name",(String) onlineObj.get("patient_name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("time_cost",(Long) onlineObj.get("time_cost")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("id",doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if(StringUtils.isNoneBlank((String) onlineObj.get("doctorName"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name",(String) onlineObj.get("doctorName")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_status",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("waiting_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("patient_name",(String) onlineObj.get("patient_name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("time_cost",(Long) onlineObj.get("time_cost")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put(doctor,jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<JSONObject> finalresult  = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (JSONObject jsonObject : result.values()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            finalresult.add(jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return finalresult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public WlyyDoctorClinicRoomDO findClinicRoomStatus(String id) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2450,7 +2563,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyHospitalWaitingRoomDO> roomDOs =hospitalWaitingRoomDao.findByOutpatientId(outpatientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(roomDOs!=null&&roomDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(WlyyHospitalWaitingRoomDO roomDO:roomDOs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    roomDO.setDoctor(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    roomDO.setDoctorName(baseDoctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    hospitalWaitingRoomDao.save(roomDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 |