|  | @ -258,6 +258,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |         //居民详情
 | 
	
		
			
				|  |  |         BasePatientDO basePatientDO = basePatientDao.findById(outpatientDO.getPatient());
 | 
	
		
			
				|  |  |         rs.put("patientName",basePatientDO.getName());
 | 
	
		
			
				|  |  |         rs.put("photo",basePatientDO.getPhoto());
 | 
	
		
			
				|  |  |         rs.put("patientId",basePatientDO.getId());
 | 
	
		
			
				|  |  |         rs.put("idCard",basePatientDO.getIdcard());
 | 
	
		
			
				|  |  |         rs.put("sex", basePatientDO.getSex());
 | 
	
	
		
			
				|  | @ -310,6 +311,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |             rs.put("expressageLogs",null);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //预约记录
 | 
	
		
			
				|  |  |         List<WlyyPatientRegisterTimeDO> timeDOs = patientRegisterTimeDao.findByOutpatientId(outpatientId);
 | 
	
		
			
				|  |  |         if(timeDOs!=null&&timeDOs.size()>0){
 | 
	
		
			
				|  |  |             rs.put("register",timeDOs.get(0));
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             rs.put("register",null);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return rs;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1420,4 +1429,96 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |     public List<WlyyHospitalSysDictDO> findCancelReasonList(){
 | 
	
		
			
				|  |  |         return sysDictDao.findByDictName("PatientCancel");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 獲取快速咨詢時間
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findFastRegisterDate(){
 | 
	
		
			
				|  |  |         int days = 7;
 | 
	
		
			
				|  |  |         String AMStartTime ="8:00";
 | 
	
		
			
				|  |  |         String AMEndTime ="12:00";
 | 
	
		
			
				|  |  |         String PMStartTime ="14:00";
 | 
	
		
			
				|  |  |         String PMEndTime ="17:00";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //设置上午过号时间
 | 
	
		
			
				|  |  |         Calendar scTime = Calendar.getInstance();
 | 
	
		
			
				|  |  |         scTime.setTime(new Date());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Calendar ecTime = Calendar.getInstance();
 | 
	
		
			
				|  |  |         ecTime.setTime(new Date());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String,Object>> times = new ArrayList<>();
 | 
	
		
			
				|  |  |         for(int i=0;i<days;i++){
 | 
	
		
			
				|  |  |             //設置上午時段
 | 
	
		
			
				|  |  |             Map<String,Object> time = new HashedMap();
 | 
	
		
			
				|  |  |             time.put("timeType","1");
 | 
	
		
			
				|  |  |             time.put("date",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd"));
 | 
	
		
			
				|  |  |             time.put("weekDay",scTime.get(Calendar.DAY_OF_WEEK));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String ts[] = AMStartTime.split(":");
 | 
	
		
			
				|  |  |             scTime.set(scTime.get(Calendar.YEAR),scTime.get(Calendar.MONTH),scTime.get(Calendar.DAY_OF_MONTH),Integer.parseInt(ts[0]),Integer.parseInt(ts[1]),00);
 | 
	
		
			
				|  |  |             time.put("startTime",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String ts2[] = AMEndTime.split(":");
 | 
	
		
			
				|  |  |             scTime.set(scTime.get(Calendar.YEAR),scTime.get(Calendar.MONTH),scTime.get(Calendar.DAY_OF_MONTH),Integer.parseInt(ts2[0]),Integer.parseInt(ts2[1]),00);
 | 
	
		
			
				|  |  |             time.put("endTime",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  |             times.add(time);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //設置下午時段
 | 
	
		
			
				|  |  |             Map<String,Object> time2 = new HashedMap();
 | 
	
		
			
				|  |  |             time2.put("timeType","2");
 | 
	
		
			
				|  |  |             time2.put("date",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd"));
 | 
	
		
			
				|  |  |             time2.put("weekDay",scTime.get(Calendar.DAY_OF_WEEK));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String pts[] = PMStartTime.split(":");
 | 
	
		
			
				|  |  |             scTime.set(scTime.get(Calendar.YEAR),scTime.get(Calendar.MONTH),scTime.get(Calendar.DAY_OF_MONTH),Integer.parseInt(pts[0]),Integer.parseInt(pts[1]),00);
 | 
	
		
			
				|  |  |             time2.put("startTime",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String pts2[] = PMEndTime.split(":");
 | 
	
		
			
				|  |  |             scTime.set(scTime.get(Calendar.YEAR),scTime.get(Calendar.MONTH),scTime.get(Calendar.DAY_OF_MONTH),Integer.parseInt(pts2[0]),Integer.parseInt(pts2[1]),00);
 | 
	
		
			
				|  |  |             time2.put("endTime",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  |             times.add(time2);
 | 
	
		
			
				|  |  |             //生成下一天
 | 
	
		
			
				|  |  |             scTime.add(Calendar.DAY_OF_MONTH,1);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(DateUtil.strToDate(DateUtil.getTimeShort(),DateUtil.HH_MM).after(DateUtil.strToDate(AMEndTime,DateUtil.HH_MM))) {
 | 
	
		
			
				|  |  |             times.remove(0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(DateUtil.strToDate(DateUtil.getTimeShort(),DateUtil.HH_MM).after(DateUtil.strToDate(PMEndTime,DateUtil.HH_MM))) {
 | 
	
		
			
				|  |  |             times.remove(0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return times;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取快速咨询时间分段
 | 
	
		
			
				|  |  |      * @param startTime
 | 
	
		
			
				|  |  |      * @param endTime
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findByTimeSlot(String startTime,String endTime){
 | 
	
		
			
				|  |  |         int interval = 30;
 | 
	
		
			
				|  |  |         List<Map<String,Object>> times = new ArrayList<>();
 | 
	
		
			
				|  |  |         //设置上午过号时间
 | 
	
		
			
				|  |  |         Calendar scTime = Calendar.getInstance();
 | 
	
		
			
				|  |  |         scTime.setTime(DateUtil.stringToDate(startTime,"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Calendar ecTime = Calendar.getInstance();
 | 
	
		
			
				|  |  |         ecTime.setTime(DateUtil.stringToDate(endTime,"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         while (scTime.getTime().before(ecTime.getTime())){
 | 
	
		
			
				|  |  |             if(new Date().before(scTime.getTime())){
 | 
	
		
			
				|  |  |                 Map<String,Object> time = new HashedMap();
 | 
	
		
			
				|  |  |                 time.put("startTime",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  |                 scTime.add(Calendar.MINUTE,interval);
 | 
	
		
			
				|  |  |                 time.put("endTime",DateUtil.dateToStr(scTime.getTime(),"yyyy-MM-dd HH:mm:ss"));
 | 
	
		
			
				|  |  |                 times.add(time);
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 scTime.add(Calendar.MINUTE,interval);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return times;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |