医院信息化与智能化系统(14)

医院信息化与智能化系统(14)

这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置
如果你想通过文字描述或代码画流程图,可以试试PlantUML,告诉GPT你的文件结构,让他给你对应的代码

预约挂号微服务模块搭建

前端知识点补充,此章节不会详细讲具体前端的每个知识点

1、查询医院 接口

与上传医院 接口类似,在ApiController内创建方法,指定@PostMapping路径,下面只描述逻辑。

通过 HttpServletRequest request获取传递过来的医院编号签名,并判断签名是否一致;

调用getByHoscode方法实现根据hoscode查询,该方法在HospitalServiceImpl定义。其方法体就是内部调用getHospitalByHoscode方法,这个方法是Spring Data提供的。

完成的测试结果是:
在这里插入图片描述

2、上传科室 接口

在model模块的yygh/model/hosp提供了Department实体类,对应科室信息,包括医院编号科室编号

随后在service-hosp模块的repository文件夹下创建DepartmentRepository,用@Repository修饰,继承MongoRepository

接着创建DepartmentService接口,DepartmentServiceImpl实现该接口,用@Service修饰。

controller继续沿用之前的ApiController,上传方法的编写和上传医院几乎一样,就是把方法写在DepartmentServiceImpl

具体逻辑是:把参数map集合转换成对象Department,随后创建getDepartmentByHoscodeAndDepcode:根据hoscode和depcode查询并返回变量departmentExist后续来判断是否存在,由Spring Data提供,只要声明即可使用。

测试,在科室列表点添加,使用提供的department.json上传即可,成功会返回操作成功,在Mongdb数据库会有Department表

在这里插入图片描述

3、查询|删除 科室 接口

查询科室

在ApiController中创建方法findDepartment,设置post请求方式,这里要判断传递来的信息是否包含当前页page与每页记录数limit,不存在默认设为1

int page = StringUtils.isEmpty(paremMap.get("page"))? 1:Integer.parseInt((String) paremMap.get("page"));

判断完签名之后,实例化一个DepartmentQueryVo类,并把hoscode设置给它。在查询时创建一个新的查询类DepartmentQueryVo而不直接使用原有的实体类Department是为了将查询条件和实体类分离,以更好地管理数据结构和业务逻辑。

随后调用findPageDepartment方法处理查询条件,返回查询结果,在DepartmentServiceImpl完成业务逻辑

使用departmentRepositoryfindall方法需要传递两个参数,一个Example类一个Pageable类;

Pageable类可以直接用当前页每页记录数构建

Example类需要构建匹配规则以及查询样本对象(这里要求是Department类)

    @Overridepublic Page<Department> findPageDepartment(int page, int limit, DepartmentQueryVo departmentQueryVo) {//创建Pageable对象,设置当前页和每页记录数//0是第一页Pageable pageable = PageRequest.of(page-1,limit);//创建Example对象Department department = new Department();BeanUtils.copyProperties(departmentQueryVo,department);ExampleMatcher matcher = ExampleMatcher.matching().withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING).withIgnoreCase(true);Example<Department> example = Example.of(department,matcher);Page<Department> all = departmentRepository.findAll(example, pageable);return all;}

删除科室

在ApiController中创建方法removeDepartment,设置post请求方式,这里要接受hoscodedepcode用于后续指定删除对象。

这里使用的删除方式是物理删除,注释部分是逻辑删除,但使用逻辑删除前端删不掉,即删除了还有信息存留

    public void remove(String hoscode, String depcode) {//根据医院编号和科室编号查询Department department = departmentRepository.getDepartmentByHoscodeAndDepcode(hoscode, depcode);if (department != null){departmentRepository.deleteById(department.getId());//department.setIsDeleted(1);// departmentRepository.save(department);}

4、排班接口功能实现

项目提供了Schedule实体类作为排班表对应类,这里和之前相同,所以直接写名称对照即可。

创建ScheduleRepositoryScheduleServiceScheduleServiceImpl

上传功能和department上传科室几乎相同,需要注意的是:

  1. 查询排班是否存在,用的是hoscodehosScheduleId,所以对应spring data的方法要修改
  2. 无论是否存在,都需要设置状态为1 schedule.setStatus(1);

查询功能,需要注意的是:
1. 项目也提供了对应的vo类,ScheduleQueryVo
2. 需要获取depcode并设置给scheduleQueryVo.setDepcode(depcode);

删除功能,需要注意的是

  1. 方法体中需要获取hosScheduleId用来删除排班(这里也暂时设置逻辑删除)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dedecms手机搜索不跳转手机页面模板的解决方法

1.找到文件plus/search.php&#xff0c;添加如下代码并保存 $mobile (isset($mobile) && is_numeric($mobile)) ? $mobile : 0; if ( $mobile1 ) {define(DEDEMOB, Y); } 2.来到网站后台&#xff0c;默认模板管理&#xff0c;新建模板 将手机端列表页面的.html文件&…

臻于智境 安全护航 亚信安全受邀出席新华三智算新品发布会

近日&#xff0c;紫光股份旗下新华三集团在北京隆重举办了主题为“乘势 进化 臻于智境”的新华三智算新品发布会。作为新华三集团的长期战略合作伙伴&#xff0c;亚信安全受邀参会&#xff0c;亚信安全CEO马红军出席发布仪式&#xff0c;并与来自各界的业界伙伴共同探讨智能化…

金和OA-C6 ApproveRemindSetExec.aspx XXE漏洞复现(CNVD-2024-40568)

0x01 产品描述&#xff1a; 金和C6协同管理平台是以"精确管理思想"为灵魂&#xff0c;围绕“企业协同四层次理论”模型&#xff0c;并紧紧抓住现代企业管理的六个核心要素&#xff1a;文化 Culture、 沟通Communication 、 协作Collaboration 、创新 Creation、 控制…

DB-GPT系列(一):DB-GPT能帮你做什么?

DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL and Agents)&#xff0c;围绕大模型提供灵活、可拓展的AI原生数据应用管理与开发能力&#xff0c;可以帮助企业快速构建、部署智能AI数据应用&#xff0c;通过智能数据分析、洞察…

Synergy遇见的问题

1.两台设备无法ping通 首先两个设备是在同一个局域网中&#xff0c;但任然是无法ping通 问题所在&#xff1a;防火墙进行了隔离&#xff1b; 解决方法&#xff1a; &#xff08;1&#xff09;关闭防火墙 没有用过&#xff0c;个人感觉不怎么安全就没有使用&#xff1b; &am…

视觉目标检测标注xml格式文件解析可视化 - python 实现

视觉目标检测任务&#xff0c;通常用 labelimage标注&#xff0c;对应的标注文件为xml。 该示例来源于开源项目&#xff1a;https://gitcode.com/DataBall/DataBall-detections-100s/overview 读取 xml 标注文件&#xff0c;并进行可视化示例如下&#xff1a; #-*-coding:ut…

Uniswap/v2-core使用及其交易流程

Uniswap是一个开源的去中心化的交易所&#xff0c;在github上面有以下重要仓库&#xff1a; uniswap-v2-core&#xff1a; 币对池pair的核心智能合约。这个repository包含了Uniswap的币对池pair的所有核心逻辑&#xff0c;增加流动性、减少流动性等。uniswap-v2-periphery&…

萤石私有化设备视频平台EasyCVR视频融合平台如何构建农业综合监控监管系统?

现代农业的迅速发展中&#xff0c;集成监控管理系统已成为提高农业生产效率和优化管理的关键工具。萤石私有化设备视频平台EasyCVR&#xff0c;作为一个具有高度可扩展性、灵活的视频处理能力和便捷的部署方式的视频监控解决方案&#xff0c;为农业监控系统的建设提供了坚实的技…

如何在小红书发布笔记时显示外地IP地址

小红书平台在发布笔记时显示IP地址可能是由于网络爬虫或者某些技术手段抓取数据时所导致的。为了保护用户隐私和安全&#xff0c;显示外地IP地址&#xff0c;可以尝试以下几种方法&#xff1a; 1.检查发布环境&#xff1a; 确保你是在一个安全、可信的网络环境下发布笔记&…

数据结构——单链表详解

博客ID&#xff1a;LanFuRenC系列专栏&#xff1a;C语言重点部分 C语言注意点 C基础 Linux 数据结构 C注意点 声明等级&#xff1a;黑色->蓝色->红色 欢迎新粉加入&#xff0c;会一直努力提供更优质的编程博客&#xff0c;希望大家三连支持一下啦 目录 1.链表的概念…

奥数与C++小学四年级(第十二题 装礼盒)

参考程序代码&#xff1a; #include <iostream> #include <vector> #include <algorithm>using namespace std;int main() {// 各种颜色宝石的数量vector<int> gems {11, 22, 33, 44, 55, 66, 77};int totalBoxes 0;while (true) {// 对宝石数量进行…

Zookeeper 对于 Kafka 的作用是什么?

大家好&#xff0c;我是锋哥。今天分享关于【Zookeeper 对于 Kafka 的作用是什么&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Zookeeper 对于 Kafka 的作用是什么&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 在 Kafka…

基于SSM学生竞赛模拟系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;公告信息管理&#xff0c;试题管理&#xff0c;论坛交流&#xff0c;试卷管理&#xff0c;系统管理 前台账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;公告…

pip使用

pip全称pip install package,是python第三方包sitepackage管理的工具&#xff0c;安装&#xff0c;卸载第三方包。安装python时可以选择安装pip&#xff0c;或自己安装pip 查看pip是否安装&#xff1a;pip --version 安装pip &#xff1a;pip python -m pip install --upgrade…

Netron:神经网络模型可视化工具指南【全网最详细】

目录 Netron初印象 Netron 功能是什么&#xff1f; Netron 的来源 支持的模型文件格式 如何使用 Netron 打开和查看模型文件&#xff1f; 要掌握哪些知识才能看懂模型结构&#xff1f; 模型结构解释 part1 part2 part3 part4 part5 各节点解释说明 起始和终止节点…

ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/143359538 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 SAM2 与…

阿里云物联网的通信方式

阿里云物联网通信的两种方式&#xff0c;一个是物模型&#xff08;分为服务&#xff0c;事件&#xff0c;属性此篇文章只讲解物模型中的服务和属性用法&#xff09;&#xff0c;一个是自定义topic&#xff08;要另外设置数据流转&#xff09; 1.使用产品内的功能定义&#xff0…

mysql5.7.44 arm 源码编译安装

一、&#xff1a;下载源码&#xff1a;mysql官网&#xff1a;MySQL :: MySQL Downloads #####下载mysql安装包 &#xff1a; 网址&#xff1a;https://www.mysql.com/ 可在页面下载后上传或直接下载。 官网地址首页&#xff0c;拉到最底部&#xff0c;找到社区版本下载&#xf…

BatchNorm推理阶段和Conv合并

BatchNorm推理阶段和Conv合并 本文全文来自&#xff1a; https://www.cnblogs.com/xiaxuexiaoab/p/16422640.html。 只只作为自己的复习使用&#xff0c;不作他用。 BN层作用 批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;在深度学习中常放在卷积层之…