欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

【开源分享】使用Java、Vue和SpringBoot搭建的医疗保险管理系统的重点代码实现(第四部分)

最编程 2024-02-17 18:40:17
...

4.1 用户查询全部医生

@RequestMapping(value = "/getAllByDepartmentId", method = RequestMethod.GET)
@ApiOperation(value = "用户查询全部医生")
public Result<List<Doctor>> getAllByDepartmentId(@RequestParam String departmentId){
    QueryWrapper<Doctor> qw = new QueryWrapper<>();
    qw.eq("department_id",departmentId);
    List<Doctor> doctorList = iDoctorService.list(qw);
    for (Doctor doctor : doctorList) {
        QueryWrapper<DoctorNumber> numberQw = new QueryWrapper<>();
        numberQw.eq("doctor_id",doctor.getId());
        numberQw.eq("date", DateUtil.today());
        numberQw.eq("order_flag",false);
        long count = iDoctorNumberService.count(numberQw);
        doctor.setNumberStr(count);
    }
    return new ResultUtil<List<Doctor>>().setData(doctorList);
}

4.2 新增医生

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增医生")
public Result<Doctor> insert(Doctor doctor){
    if(ZwzNullUtils.isNull(doctor.getDepartmentId())) {
        return ResultUtil.error("科室不能为空");
    }
    HospitalDepartment hd = iHospitalDepartmentService.getById(doctor.getDepartmentId());
    if(hd == null) {
        return ResultUtil.error("科室不存在");
    }
    iDoctorService.saveOrUpdate(doctor);
    return new ResultUtil<Doctor>().setData(doctor);
}

4.3 查询科室

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询科室")
public Result<IPage<HospitalDepartment>> getByPage(@ModelAttribute HospitalDepartment hospitalDepartment ,@ModelAttribute PageVo page){
    QueryWrapper<HospitalDepartment> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(hospitalDepartment.getTitle())) {
        qw.like("title",hospitalDepartment.getTitle());
    }
    IPage<HospitalDepartment> data = iHospitalDepartmentService.page(PageUtil.initMpPage(page),qw);
    for (HospitalDepartment hd : data.getRecords()) {
        QueryWrapper<Doctor> doQw = new QueryWrapper<>();
        doQw.eq("department_id",hd.getId());
        hd.setUserNumber(iDoctorService.count(doQw));
    }
    return new ResultUtil<IPage<HospitalDepartment>>().setData(data);
}

4.4 新增号源

@RequestMapping(value = "/add", method = RequestMethod.GET)
@ApiOperation(value = "新增号源")
public Result<Object> add(@RequestParam String doctorId){
    Doctor doctor = iDoctorService.getById(doctorId);
    if(doctor == null) {
        return ResultUtil.error("医生不存在");
    }
    DoctorNumber d = new DoctorNumber();
    d.setDoctorId(doctorId);
    d.setDoctorName(doctor.getName());
    d.setDate(DateUtil.today());
    d.setDepartmentId(doctor.getDepartmentId());
    d.setDepartmentName(doctor.getDepartmentName());
    d.setOrderFlag(false);
    d.setOrderId("");
    d.setOrderName("");
    d.setOrderTime("");
    d.setPayFlag(false);
    d.setPayTime("");
    iDoctorNumberService.saveOrUpdate(d);
    return ResultUtil.success();
}

4.5 预约号源

@RequestMapping(value = "/addOrder", method = RequestMethod.POST)
@ApiOperation(value = "预约号源")
public Result<Object> addOrder(@RequestParam String doctorId){
    QueryWrapper<DoctorNumber> qw = new QueryWrapper<>();
    qw.eq("doctor_id",doctorId);
    qw.eq("date", DateUtil.today());
    List<DoctorNumber> numberList = iDoctorNumberService.list(qw);
    if(numberList.size() < 1) {
        return ResultUtil.error("您手速慢啦,号源没有了");
    }
    User currUser = securityUtil.getCurrUser();
    DoctorNumber dn = numberList.get(0);
    dn.setOrderFlag(true);
    dn.setOrderId(currUser.getId());
    dn.setOrderName(currUser.getNickname());
    dn.setOrderTime(DateUtil.now());
    iDoctorNumberService.saveOrUpdate(dn);
    return ResultUtil.success();
}