| 
					
				 | 
			
			
				@ -2,6 +2,7 @@ package com.yihu.jw.door.controller.doctor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorRoleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.controller.BaseController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorServiceOrderDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -12,6 +13,7 @@ import com.yihu.jw.door.service.common.HospitalService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.service.common.ServerPackageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.service.prescription.JwDoorPrescriptionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.util.StreamUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorConclusionDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorServiceOrderDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ResponseContant; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -62,6 +64,9 @@ public class DoorOrderController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JwDoorPrescriptionService jwDoorPrescriptionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDoctorRoleDao baseDoctorRoleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping("/initDoorStatus") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取医生分派订单开关状态") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -634,7 +639,106 @@ public class DoorOrderController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (doctor == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String status = wlyyDoorServiceOrderService.findDispatchStatusByDoctor(doctor.get("id").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("status", status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("id", doctor.get("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 医生标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("code", doctor.get("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 医生姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("name", doctor.get("name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 所在医院名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("hospital", doctor.get("hospital")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 所在医院名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("hospital_name", doctor.get("hospital_name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 科室名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("dept_name", (doctor.get("dept_name") == null || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            org.apache.commons.lang3.StringUtils.isEmpty(doctor.get("dept_name").toString())) ? " " : doctor.get("dept_name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    json.put("level", doctor.get("level") ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("job", doctor.get("job") ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 职称名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("job_name", (doctor.get("job_name") == null || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            org.apache.commons.lang3.StringUtils.isEmpty(doctor.get("job_name").toString())) ? " " : doctor.get("job_name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 头像 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("photo", doctor.get("photo")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 简介 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("introduce", doctor.get("introduce")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 专长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("expertise", doctor.get("expertise")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("flag", doctors.contains(String.valueOf(doctor.get("code"))) ? true : false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("fixed", one != null && String.valueOf(doctor.get("code")).equals(one.getDoctor()) ? true : false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //出诊费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("fee", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    array.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Collections.sort(array, new Comparator<JSONObject>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                public int compare(JSONObject o1, JSONObject o2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Integer flag1 = (Boolean)o1.get("flag") ? 2 : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Integer flag2 = (Boolean)o2.get("flag") ? 2 : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (flag1 - flag2 > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else if (flag1 - flag2 < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else {return 0;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Collections.sort(array, new Comparator<JSONObject>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                public int compare(JSONObject o1, JSONObject o2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Integer fixed = (Boolean)o1.get("fixed") ? 2 : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Integer fixed2 = (Boolean)o2.get("fixed") ? 2 : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    int sort = fixed - fixed2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (sort > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else if (sort < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return write(200, "获取医院医生列表成功!", "list", array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            error(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error(-1, "获取医院医生列表失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation("社区医院下护士列表查询接口 没分页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "getNurseListByHospitalNoPage",method =RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getNurseListByHospitalNoPage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(required = true) String orderId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(required = false) String hospital, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(required = false) String name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(required = false) Integer type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<JSONObject> array = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WlyyDoorServiceOrderDO one = doorServiceOrderDao.findOne(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 被服务的居民的次数(非代理居民) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            Integer times = wlyyDoorServiceOrderService.countPatientDoorTimes(one.getPatient()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> doctors = doorDoctorDao.findDoctors(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String, Object>> list = hospitalService.getDoctorsByhospitalNoPage(hospital, name, type, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (list != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Map<String, Object> doctor : list) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (doctor == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<BaseDoctorRoleDO> baseDoctorRoleDOS = baseDoctorRoleDao.findByDoctorCode(doctor.get("id").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (baseDoctorRoleDOS.size()<1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (!baseDoctorRoleDOS.get(0).getRoleCode().equals("nurse")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String status = wlyyDoorServiceOrderService.findDispatchStatusByDoctor(doctor.get("id").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("status", status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("id", doctor.get("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 医生标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("code", doctor.get("id")); 
			 |