Prechádzať zdrojové kódy

Merge branch 'dev' of zengmengkang/wlyy2.0 into dev

trick9191 5 rokov pred
rodič
commit
763d4f6e92

+ 14 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -658,4 +658,18 @@ public class BaseHospitalRequestMapping {
        public static final String update  = "/update";
        public static final String updateStatus  = "/updateStatus";
    }
    /**
     * 患者不用登陆访问居民PC端
     */
    public static class PatientNoLogin extends Basic {
        public static final String PREFIX  = "/open/noLogin";
        public static final String findDoctorByHospitalAndDiseaseAndDept = "/findDoctorByHospitalAndDiseaseAndDept";
        public static final String findHotDeptAndDiseaseDict = "/findHotDeptAndDiseaseDict";
        public static final String getTodayOutpatinetList ="/getTodayOutpatinetList";
        public static final String findByDeptTypeCode="/findByDeptTypeCode";
        public static final String findByHosAndDict="/findByHosAndDict";
        public static final String findDoctorInfo="/findDoctorInfo";
        public static final String isExistsUnfinishedConsult ="/isExistsUnfinishedConsult";
    }
}

+ 154 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -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);
    }
}