|  | @ -0,0 +1,154 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.hospital.endpoint.patient;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.service.PrescriptionService;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.service.consult.SysDictService;
 | 
	
		
			
				|  |  | import com.yihu.jw.im.service.ImService;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ListEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ObjEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
 | 
	
		
			
				|  |  | import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiParam;
 | 
	
		
			
				|  |  | import org.apache.axis.utils.StringUtils;
 | 
	
		
			
				|  |  | import org.slf4j.Logger;
 | 
	
		
			
				|  |  | import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.GetMapping;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestMapping;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestParam;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RestController;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.Date;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * @author zmk
 | 
	
		
			
				|  |  |  * 患者不用登陆访问居民PC端控制类
 | 
	
		
			
				|  |  |  * Created at 2019/12/25
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @RestController
 | 
	
		
			
				|  |  | @RequestMapping(value = BaseHospitalRequestMapping.PatientNoLogin.PREFIX)
 | 
	
		
			
				|  |  | @Api(value = "患者不用登陆访问居民PC端控制类", description = "患者不用登陆访问居民PC端控制类")
 | 
	
		
			
				|  |  | public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static final Logger logger = LoggerFactory.getLogger(PatientNoLoginEndPoint.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private PrescriptionService prescriptionService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private SysDictService sysDictService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ImService imService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorByHospitalAndDiseaseAndDept)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "根据疾病名称,热门部门查询医生", notes = "根据疾病名称,热门部门查询医生")
 | 
	
		
			
				|  |  |     public ListEnvelop findDoctorByHospitalAndDiseaseAndDept(@ApiParam(name = "orgCode", value = "机构code")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "orgCode", required = true,defaultValue = "350211A1002")String orgCode,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "dept", value = "部门code")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "dept", required = false)String dept,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "diseaseKey", value = "疾病名称关键字")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "diseaseKey", required = false)String diseaseKey,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "doctorNameKey", value = "医生名称关键字")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "doctorNameKey", required = false)String doctorNameKey,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "jobTitleNameKey", value = "医生职称关键字")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "jobTitleNameKey", required = false)String jobTitleNameKey,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "outpatientType", value = "咨询类型1图文,2视频")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "outpatientType", required = false)String outpatientType,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "keyName", value = "姓名/科室/疾病模糊搜索关键字")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "keyName", required = false)String keyName,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "workingTime", value = "排班时间YYYY-MM-DD")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "workingTime", required = false)String workingTime,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "consultStatus", value = "在线状态")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "consultStatus", required = false,defaultValue = "")String consultStatus,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "chargType", value = "医生号别")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "chargType", required = false,defaultValue = "")String chargType,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "consutlSort", value = "咨询量排序")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "consutlSort", required = true,defaultValue = "DESC")String consutlSort,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "page", value = "第几页")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "page",required = false) Integer page,
 | 
	
		
			
				|  |  |                                                              @ApiParam(name = "pagesize", value = "分页大小")
 | 
	
		
			
				|  |  |                                                              @RequestParam(value = "pagesize",required = false) Integer pagesize
 | 
	
		
			
				|  |  |     ) throws Exception{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         logger.info("findDoctorByHospitalAndDiseaseAndDept start:"+ DateUtil.dateToStr(new Date(),"yyyy-MM-dd HH:mm:ss:SSS"));
 | 
	
		
			
				|  |  |         return success(prescriptionService.findDoctorByHospitalAndDiseaseAndDept(
 | 
	
		
			
				|  |  |                 orgCode,dept,
 | 
	
		
			
				|  |  |                 diseaseKey,doctorNameKey,
 | 
	
		
			
				|  |  |                 jobTitleNameKey,outpatientType,
 | 
	
		
			
				|  |  |                 keyName,workingTime,consultStatus,chargType,consutlSort,page,pagesize));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findHotDeptAndDiseaseDict)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取常见疾病、热门部门、医生拒绝接诊原因 字典", notes = "获取常见疾病、热门部门、医生拒绝接诊原因 字典")
 | 
	
		
			
				|  |  |     public ListEnvelop findHotDeptAndDiseaseDict(@ApiParam(name = "dictName", value = "dictName")
 | 
	
		
			
				|  |  |                                                  @RequestParam(value = "dictName", required = true,defaultValue = "ONLINE_HOSPITAL_DEPT_350211A1002")String dictName)throws Exception{
 | 
	
		
			
				|  |  |         return success(prescriptionService.findHotDeptAndDiseaseDict(dictName));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.getTodayOutpatinetList)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "居民获取当日就诊列表", notes = "居民获取当日就诊列表")
 | 
	
		
			
				|  |  |     public ListEnvelop getTodayOutpatinetList(@ApiParam(name = "patient", value = "居民ID")
 | 
	
		
			
				|  |  |                                               @RequestParam(value = "patient", required = true) String patient){
 | 
	
		
			
				|  |  |         return success(prescriptionService.getTodayOutpatinetList(patient));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findByDeptTypeCode)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "就诊费用查询", notes = "就诊费用查询")
 | 
	
		
			
				|  |  |     public ListEnvelop findByDeptTypeCode(@ApiParam(name = "deptTypeCode", value = "6总部7金榜8夏禾")
 | 
	
		
			
				|  |  |                                           @RequestParam(value = "deptTypeCode", required = false)String deptTypeCode) throws Exception{
 | 
	
		
			
				|  |  |         return success(prescriptionService.findByDeptTypeCode(deptTypeCode));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findByHosAndDict)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "根据医院和字典名查询")
 | 
	
		
			
				|  |  |     public Envelop findByHosAndDict(
 | 
	
		
			
				|  |  |             @ApiParam(name = "hospital", value = "医院编码", required = true)
 | 
	
		
			
				|  |  |             @RequestParam(value = "hospital", required = true) String hospital,
 | 
	
		
			
				|  |  |             @ApiParam(name = "dictName", value = "字典名称", required = true)
 | 
	
		
			
				|  |  |             @RequestParam(value = "dictName", required = true) String dictName ) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> list = sysDictService.findByHosAndDict(hospital, dictName);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return success("查询成功",list);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorInfo)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取医生信息", notes = "获取医生信息")
 | 
	
		
			
				|  |  |     public ObjEnvelop findDoctorInfo(@ApiParam(name = "doctor", value = "医生code")
 | 
	
		
			
				|  |  |                                      @RequestParam(value = "doctor", required = true)String doctor,
 | 
	
		
			
				|  |  |                                      @ApiParam(name = "withWork", value = "传1带排班,其他不带")
 | 
	
		
			
				|  |  |                                      @RequestParam(value = "withWork", required = false)String withWork){
 | 
	
		
			
				|  |  |         return success(prescriptionService.findDoctorInfo(doctor,withWork));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.isExistsUnfinishedConsult)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "查询居民与某个医生是否存在未结束的专家咨询")
 | 
	
		
			
				|  |  |     public Envelop isExistsUnfinishedConsult(
 | 
	
		
			
				|  |  |             @ApiParam(name = "doctor", value = "医生CODE")
 | 
	
		
			
				|  |  |             @RequestParam(value = "doctor",required = true) String doctor,
 | 
	
		
			
				|  |  |             @ApiParam(name = "patient", value = "居民CODE")
 | 
	
		
			
				|  |  |             @RequestParam(value = "patient",required = true) String patient)throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(patient)){
 | 
	
		
			
				|  |  |             patient= getUID();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String consultCode = imService.getUnfinishedConsult(patient, doctor);
 | 
	
		
			
				|  |  |         return success("请求成功",consultCode);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |