预约挂号项目之预约挂号模块

news2025/7/8 17:34:10

目录

  • 一、预约挂号详情
    • 1、需求分析
    • 2、api接口
      • 2.1 、controller代码:
      • 2.2 、Service类接口:
      • 2.3 、添加service接口实现:

学习指南:

https://www.zhihu.com/question/351439302/answer/2362637429?utm_id=0

一、预约挂号详情

1、需求分析

在这里插入图片描述

1、接口分析
(1)根据预约周期,展示可预约日期数据,按分页展示
(2)选择一个日期展示当天可预约列表(该接口后台已经实现过)

2、页面展示分析
(1)分页展示可预约日期,根据有号、无号、约满等状态展示不同颜色,以示区分
(2)可预约最后一个日期为即将放号日期,根据放号时间页面展示倒计时 (此日期是在10天预约周期额外增加的一天)

请详细看下图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

比如我们只能预约从当前09-01时间到往后十天的号,即09-10的号,则想要预约第十一天的号(09-11),只能等明天(09-02)放号时间到了才能预约。预约周期是十天(09-01—09-10)

2、api接口

2.1 、controller代码:

添加controller的两个接口方法:
第一个接口:获取可预约排班数据
第二个接口:获取排班具体数据详情

在HospitalApiController类添加方法

在以下模块中开发2个接口的编写:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

代码:

  /*=========预约挂号=========*/
    //第一个接口:获取可预约排班数据
    /**
     * 获取排班可预约日期数据
     * //根据医院编号和部门编号参数来获取
     * @param page
     * @param limit
     * @param hoscode  医院编号
     * @param depcode  部门编号
     * @return
     */
    @ApiOperation("获取可预约排班数据")
    @GetMapping("auth/getBookingScheduleRule/{page}/{limit}/{hoscode}/{depcode}")
    public Result getBookingScheduleRule(
            @ApiParam(name = "page",value = "当前页码",required = true ) 
            @PathVariable Integer page,
            
            @ApiParam(name = "limit",value = "每页记录数",required = true)
             @PathVariable Integer limit,
             
            @ApiParam(name = "hoscode" ,value = "医院code",required = true) 
            @PathVariable String hoscode,
            
            @ApiParam(name = "depcode",value = "科室编号",required = true)
             @PathVariable String  depcode
    ){

        return Result.ok(scheduleService
        .getBookingScheduleRule(page,limit,hoscode,depcode));
    }

    //第二个接口:获取排班具体数据
    /**
     * 获取排班可预约日期数据
     * //根据医院编号和部门编号参数来获取
     * @param hoscode  医院编号
     * @param depcode  部门编号
     * @param workDate  排班日期
     * @return
     */
    @ApiOperation(value = "获取排班具体数据")
    @GetMapping("auth/findScheduleList/{hoscode}/{depcode}/{workDate}")
    public Result findScheduleList(
            @ApiParam(name = "hoscode", value = "医院code", required = true)
            @PathVariable String hoscode,
            @ApiParam(name = "depcode", value = "科室code", required = true)
            @PathVariable String depcode,
            @ApiParam(name = "workDate", value = "排班日期", required = true)
            @PathVariable String workDate) {
        return Result.ok(scheduleService
        .getScheduleDetail(hoscode, depcode, workDate));
    }

补充接口方法:

在这里插入图片描述

2.2 、Service类接口:

在ScheduleService类添加接口
interface ScheduleService:

/**
 * 获取排班可预约日期数据
 * @param page
* @param limit
* @param hoscode
* @param depcode
* @return
*/
Map<String, Object> getBookingScheduleRule
(int page, int limit, String hoscode, String depcode);

在这里插入图片描述

2.3 、添加service接口实现:

在ScheduleServiceImpl类实现接口

第①步:根据医院编号获取预约规则:

在这里插入图片描述

Hospital实体类中有预约属性:private BookingRule bookingRule

第②步:

2.1 写一个工具方法getDateTime():将Date和放号时间 拼装成DateTime

在这里插入图片描述

2.2 写一个方法getListDate(参数是page,limit,bookingRule): 获取可预约日期的分页数据

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

方法一:将DateTime格式转换为字符串:
String time = dateTime.toString(“yyyy-MM-dd hh:mm:ss.SSSa”);
方法二:将字符串转换为DateTime格式:

DateTimeFormatter format = DateTimeFormat .forPattern(“yyyy-MM-dd HH:mm:ss”);

DateTime dateTime = DateTime.parse(“2018-4-23 23:12:16”, format);

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

查询数据:

在这里插入图片描述

在这里插入图片描述

合并数据:

在这里插入图片描述

在这里插入图片描述

获取可预约排班规则:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

 //可预约日期规则数据
        result.put("bookingScheduleList", bookingScheduleRuleVoList);
        result.put("total", iPage.getTotal());
        //其他基础数据
        Map<String, String> baseMap = new HashMap<>();
        //医院名称
        baseMap.put("hosname", hospitalService.getHospName(hoscode));
        //科室
        Department department =departmentService.getDepartment(hoscode, depcode);
        //大科室名称
        baseMap.put("bigname", department.getBigname());
        //科室名称
        baseMap.put("depname", department.getDepname());
//月
        baseMap.put("workDateString", new DateTime().toString("yyyy年MM月"));
//放号时间
        baseMap.put("releaseTime", bookingRule.getReleaseTime());
//停号时间
        baseMap.put("stopTime", bookingRule.getStopTime());
        result.put("baseMap", baseMap);
        return result;

在这里插入图片描述

调用的一个补充方法:
在这里插入图片描述

总结;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[数据结构]链表OJ题 (三) 链表的中间结点、链表中倒数第k个结点、合并两个有序链表、链表分割、链表的回文结构

作者&#xff1a; 华丞臧. 专栏&#xff1a;【数据结构】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文章目录一、链表的中间结点题目描述…

Python学习笔记(十六)——Numpy

Numpy NumPy&#xff08;Numerical Python的简称&#xff09;是高性能科学计算和数据分析的基础包&#xff0c; 其中包含了数组对象(向量、矩阵、图像等)以及线性代数等。 NumPy库主要功能 • ndarray(数组)是具有矢量算术运算和复杂广播能力的多维数组。 • 具有用于对数组数…

项目资源管理从学会向上管理开始

“如何一句话证明你当过项目经理&#xff1f;” 这个话题在网上引发了广大项目管理人的兴趣&#xff0c;纷纷发表了个人看法&#xff08;变相吐槽&#xff09;。各种回答戳中笑点&#xff0c;同时也表达了作为项目经理的心酸。  “普通的薪资水平&#xff0c;却要为整个项目的…

基于微信公众平台API的菜谱小程序 的设计与实现

摘 要 由于人们生活水平的不断提高&#xff0c;人们对网络的需求也是不断提高&#xff0c;但是又不想通过下载各种不常用的app增加手机内存。小程序正好就可以做到这个特点&#xff0c;不用下载、及实际用、用完就走&#xff0c;现在很多的行业兴起&#xff0c;尤其餐饮行业最…

D. Decrease the Sum of Digits

Problem - 1409D - Codeforces 题意: 你得到了一个正整数n。在一次移动中&#xff0c;你可以使n增加1&#xff08;即使n:n1&#xff09;。你的任务是找出为了使n的数位之和小于或等于s&#xff0c;你需要执行的最小移动数。 你必须回答t个独立的测试案例。 输入 输入的第一…

基于最小二乘支持向量机(LS-SVM)进行分类、函数估计、时间序列预测和无监督学习(Matlab代码实现)

&#x1f4dd;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;…

Webpack基础使用 + 高级配置【重点!】

http://xxpromise.gitee.io/webpack5-docs/senior/optimizePerformance.html#code-split 笔记好评&#xff01;&#xff01;&#xff01;&#xff01;一定要把网址记好&#xff0c;真的nice&#xff01;&#xff01;&#xff01;&#xff01; 只是发博客记录一下&#xff0c;没…

java后端pageHelper分页实现方法

文章目录背景方法一&#xff1a;mysql的limit进行分页方法二&#xff1a;使用插件Mybatis-PageHelper(拦截器原理)1、本质2.实现步骤引入依赖修改application.yml修改代码总结背景 当一次查库数据量较大&#xff0c;不光给数据库带来压力&#xff0c;同时前端渲染页面压力也很…

Linux权限

系列文章目录 Linux 环境搭建以及xshell远程连接_crazy_xieyi的博客-CSDN博客 Linux常用命令详解_crazy_xieyi的博客-CSDN博客 文章目录 一、用户操作二、三种角色三、文件类型和访问权限四、修改文件权限一、用户操作 Linux下有两种用户&#xff1a;超级用户&#xff08;roo…

Java - SpringBoot整合Shiro之缓存功能

Java - SpringBoot整合Shiro之缓存功能前言一. SpringBoot 整合Redis1.1 配置 RedisTemplate1.2 Shiro整合Redis缓存配置1.3 测试前言 在 上一篇文章 主要讲了Shiro权限授权和认证跳过。本篇文章就主要讲解如何整合Shiro和Redis。这样就避免携带同一个Token的时候&#xff0c;…

百趣代谢组学文献分享:真假肥胖?代谢组说了算

肥胖是当今社会面临的很普遍的健康问题之一&#xff0c;超重会显著增加患糖尿病和心血管疾病的风险。而在日常生活中&#xff0c;我们发现有些肥胖者健康状况良好&#xff0c;而有些相对较瘦的人&#xff0c;却存在患糖尿病和心血管疾病的风险。 百趣代谢组学文献分享&#xf…

基于STM32结合CubeMX学习Free-RT-OS的源码之信号量与互斥量

目录 CUBEMX上的配置以及使用 信号量 互斥量 CUBEMX上的配置以及使用 信号量与互斥量都是从队列中衍生出来的&#xff0c;他们是一种特殊的队列。不同的地方在于:他们不含有队列的数据部分&#xff0c;只有队列结构体。 定义属性&#xff08;这里只有一个名字&#xff09;和…

Handler 消息队列中的同步屏障——Message

Message 分为3种&#xff1a;普通消息&#xff08;同步消息&#xff09;、屏障消息&#xff08;同步屏障&#xff09;和异步消息。我们通常使用的都是普通消息&#xff0c;而屏障消息就是在消息队列中插入一个屏障&#xff0c;在屏障之后的所有普通消息都会被挡着&#xff0c;不…

隐式类型转换(整形提升)

隐式类型转换1.定义2.整形提升例子3.char的取值范围和一些技巧1.定义 1.c的整形算术运算总是至少以缺省整形类型的精度来进行的。 2.为了获取这个精度&#xff0c;像字符型&#xff0c;短整形在使用之前会转换为整形&#xff0c;这种转换被称为整形提升 3.整形提升时补最高位的…

Baklib|信息管理和知识管理是如何影响你的业务的?

有效的信息和知识管理可以让您消除库和共享知识。本文讨论了信息管理和知识管理的来龙去脉。信息管理和知识管理通常可以互换使用&#xff0c;但也有关键的区别。了解这些差异以及它们如何影响您的业务&#xff0c;可以使您优化管理策略、简化工作流程并提高生产率。 本文涵盖…

灰色GM(1,1)模型及其在电力负荷预测中的应用附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【每日一题】LFU 缓存

一个缓存结构需要实现如下功能&#xff1a; void set(int key,int value)&#xff1a;加入或者修改 key 对应的 value int get(int key)&#xff1a;查询 key 对应的 value 值 但是缓存最多放 K 条记录&#xff0c;如果新的 K 1 条记录需要加入&#xff0c;就需要根据策略删掉…

【面试题】如何替换项目中的if-else和switch

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 在项目中&#xff0c;往往会看到很多的if-else或者switch&#xff0c;项目会变得很臃肿&#xff0c;而且不易阅读&…

速溶颗粒:实验中的好伙伴

缓冲溶液 (buffer solution) 通常是由弱酸及其盐、弱碱及其盐组成的混合溶液&#xff0c;能在一定程度上抵消、减轻外加强酸或强碱对溶液酸碱度的影响&#xff0c;从而保持溶液的 pH 值相对稳定。 传统的缓冲液配制过程可简单概括为计算——称量——溶解——定容。而生物学上常…

windows10提权

参照tryhackme的win10提权靶场 靶场&#xff0c;地址 里面共描述了服务路径&#xff0c;文件权限&#xff0c;计划任务&#xff0c;令牌窃取&#xff0c;图形化软件&#xff0c;应用组件安装等&#xff0c;这里只有令牌窃取需要管理员Administrator权限&#xff0c;值得注意的是…