| 
					
				 | 
			
			
				@ -3063,7 +3063,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return rs.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> findDoctorInfo(String doctor, String withWork) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> findDoctorInfo(String doctor, String withWork,String patient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = baseDoctorDao.findById(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> rs = new HashedMap(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3157,7 +3157,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            Integer coordinationCout = outpatientDao.countByDoctorAndStatusAndOutpatientType(doctor,"2","2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            rs.put("coordinationCout",coordinationCout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //医生关注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<BaseDoctorPatientFollowDO> doctorPatientFollowDOS = baseOrgPatientDao.findByDoctor(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<BaseDoctorPatientFollowDO> doctorPatientFollowDOS = baseOrgPatientDao.findByDoctorAndPatient(doctor,patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (doctorPatientFollowDOS != null && doctorPatientFollowDOS.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs.put("attention", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -4172,7 +4172,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("dept_code", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("visit_status", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("waiting_count", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("visit_count", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("offline_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("ending_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("patient_name", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject.put("time_cost", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -4211,12 +4213,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isNoneBlank(doctor)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long waitCount = Long.parseLong(waitObj.get("waitCount").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (result.keySet().contains(doctor)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("waiting_count", waitCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("visit_count", waitCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("id", doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_status", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("waiting_count", waitCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_count", waitCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("offline_count", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("ending_count", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (StringUtils.isNoneBlank((String) waitObj.get("doctorName"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name", (String) waitObj.get("doctorName")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -4230,6 +4234,115 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //已结束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String endSql = "SELECT count(op.id) AS \"endCount\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor AS \"doctor\", " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor_name AS \"doctorName\" " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM wlyy_outpatient op,wlyy_hospital_waiting_room room " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE op.status=3 AND room.outpatient_id=op.id AND room.consult_type=2 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND room.doctor IS NOT NULL "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(dept)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            endSql = endSql + " and op.dept = '" + dept + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("xm_ykyy_wx".equals(wxId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (flag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                endSql += " AND room.reservation_time >= str_to_date('" + date + " 00:00:00','YYYY-MM-DD HH24:MI:SS')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                endSql += " AND room.reservation_time <= str_to_date('" + date + " 23:59:59','YYYY-MM-DD HH24:MI:SS') GROUP BY room.doctor,room.doctor_name"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                endSql += " AND room.reservation_time >= to_date('" + date + " 00:00:00','YYYY-MM-DD HH24:MI:SS')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                endSql += " AND room.reservation_time <= to_date('" + date + " 23:59:59','YYYY-MM-DD HH24:MI:SS') GROUP BY room.doctor,room.doctor_name"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            endSql = endSql + "AND room.reservation_time>='" + date + " 00:00:00' AND room.reservation_time<='" + date + " 23:59:59' GROUP BY room.doctor,room.doctor_name; "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> endlist = jdbcTemplate.queryForList(endSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (endlist != null && endlist.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据身份证计算年龄 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> endObj : endlist) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String doctor = (String) endObj.get("doctor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isNoneBlank(doctor)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long endCount = Long.parseLong(endObj.get("endCount").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (result.keySet().contains(doctor)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("ending_count", endCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("id", doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_status", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("offline_count", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("ending_count", endCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (StringUtils.isNoneBlank((String) endObj.get("doctorName"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name", (String) endObj.get("doctorName")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("patient_name", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("time_cost", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put(doctor, jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //离线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String disconnectSql = "SELECT count(op.id) AS \"disconnectCount\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor AS \"doctor\", " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.doctor_name AS \"doctorName\" " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM wlyy_outpatient op,wlyy_hospital_waiting_room room ," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "base_patient p " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE  room.outpatient_id=op.id AND room.consult_type=2  AND p.id = op.patient" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " AND room.doctor IS NOT NULL and (p.online=0 OR P.online IS NULL) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(dept)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            disconnectSql = disconnectSql + " and op.dept = '" + dept + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("xm_ykyy_wx".equals(wxId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (flag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                disconnectSql += " AND room.reservation_time >= str_to_date('" + date + " 00:00:00','YYYY-MM-DD HH24:MI:SS')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                disconnectSql += " AND room.reservation_time <= str_to_date('" + date + " 23:59:59','YYYY-MM-DD HH24:MI:SS') GROUP BY room.doctor,room.doctor_name"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                disconnectSql += " AND room.reservation_time >= to_date('" + date + " 00:00:00','YYYY-MM-DD HH24:MI:SS')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                disconnectSql += " AND room.reservation_time <= to_date('" + date + " 23:59:59','YYYY-MM-DD HH24:MI:SS') GROUP BY room.doctor,room.doctor_name"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            disconnectSql = disconnectSql + "AND room.reservation_time>='" + date + " 00:00:00' AND room.reservation_time<='" + date + " 23:59:59' GROUP BY room.doctor,room.doctor_name; "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> disconnectlist = jdbcTemplate.queryForList(disconnectSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (disconnectlist != null && disconnectlist.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据身份证计算年龄 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (Map<String, Object> endObj : endlist) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String doctor = (String) endObj.get("doctor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (StringUtils.isNoneBlank(doctor)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Long disconnectCount = Long.parseLong(endObj.get("disconnectCount").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (result.keySet().contains(doctor)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.get(doctor).put("offline_count", disconnectCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("id", doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_status", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("ending_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("visit_count",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("offline_count", disconnectCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (StringUtils.isNoneBlank((String) endObj.get("doctorName"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name", (String) endObj.get("doctorName")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            jsonObject.put("doctor_name", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("patient_name", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        jsonObject.put("time_cost", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put(doctor, jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取进行中的居民 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String onlineSql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "room.outpatient_id AS \"id\"," + 
			 |