当前位置: 首页 > news >正文

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

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

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

预约挂号微服务模块搭建

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

1、EasyExcel-写操作

首先是在后端service-cmn引入相应依赖,接着创建实体类,并在对应属性上添加注解,设置表头内容

@Data
public class UserData {@ExcelProperty("用户编号")private  int uid;@ExcelProperty("用户名称")private  String username;
}

最终实现写操作代码

    public static void main(String[] args) {//构建数据list集合List<UserData> list = new ArrayList<>();for (int i = 0; i < 10; i++) {UserData data = new UserData();data.setUid(i);data.setUsername("lucy" + i);list.add(data);}//设置excel文件路径和文件名称String fileName = "C:\\Users\\666\\Desktop\\新建文件夹\\excel\\01.xlsx";//调用方法实现写操作EasyExcel.write(fileName, UserData.class).sheet("用户信息").doWrite(list);}

最终效果
在这里插入图片描述

2、EasyExcel-读操作

首先需要创建ExcelListener类,其继承AnalysisEventListener接口,并实现invokedoAfterAllAnalysedinvokeHeadMap等方法。

  • invoke:一行一行读取数据,从第二行读取数据
  • doAfterAllAnalysed:读取后执行
  • invokeHeadMap:当你读取 Excel 文件时, 可以提供表头的名称和对应的列索引映射

在测试类使用下行代码进行excel文件读取

  EasyExcel.read(fileName, UserData.class,new ExcelListener()).sheet().doRead();

3、EasyExcel-导出操作

目的:在前端导出数据,并导出到excel

DictController里添加方法importData,输入参数为HttpServletResponse response,进行导出数据字典操作。

其中在DictService接口中声明并在DictServiceImpl实现exportDictData方法,实现具体逻辑功能。

依靠传递的repsonse对象,可以实现下载设置:

Content-disposition 头部用于指示浏览器处理响应内容的方式。attachment 表示内容应该被当作附件下载

        response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系String fileName = "dict";response.setHeader("Content-disposition", "attachment;filename="+ fileName + ".xlsx");

写操作传递的类是DictEeVo.class,它与Dict的区别是仅包含必要的字段,专注于数据的展示,去掉了与数据库操作无关的字段(如时间和删除标记),而通过baseMapper返回的是Dict类型的List,所以要进行循环赋值。

BeanUtils 提供了一个简单的方式来复制对象的属性。这个方法会将 dictEeVo 对象的属性值复制到 dict 对象中,前提是这两个对象具有相同名称和兼容类型的属性。

       for(Dict dict : dictList) {DictEeVo dictEeVo = new DictEeVo();BeanUtils.copyProperties((dict, dictEeVo);dictVoList.add(dictEeVo);}

最后在EasyExcel中写入dictVoList即可。

       EasyExcel.write(response.getOutputStream(), DictEeVo.class).sheet("dict").doWrite(dictVoList);

前端操作
list.vue放置element-ui按钮标签,其绑定方法exportData

在mehtods编写该方法

它会通过将浏览器的当前地址 (window.location.href) 设置为指定的 URL 来发起请求。

        exportData(){//调用导出接口window.location.href="http://localhost:8202/admin/cmn/dict/exportData"}

4、EasyExcel-导入操作

目的:在excel中写入数据,并导入到数据库

DictController里添加方法importData,输入参数为MultipartFile file,进行导入数据字典操作。

其中在DictService接口中声明并在DictServiceImpl实现importDictData方法,实现具体逻辑功能。

MultipartFile 是 Spring Framework 中的一个接口,用于处理上传的文件。它提供了对上传文件的抽象,允许开发者在控制器中轻松地处理文件上传的操作。

创建DictListener,并构造器传参basemapper,其中basemapper用来执行数据库添加操作,而操作对象只能是Dict,所以调用方法对dict进行复制操作

    public DictListener(DictSetMapper dictSetMapper) {this.dictSetMapper = dictSetMapper;}...@Overridepublic void invoke(DictEeVo dictEeVo, AnalysisContext analysisContext) {//调用方法添加数据库Dict dict = new Dict();BeanUtils.copyProperties(dictEeVo,dict);dictSetMapper.insert(dict);}

前端处理

在导出的element-ui代码下面添加一行导入标签代码,其绑定方法importData

还希望在导入时,能出现一个弹窗,还是需要在<temple>中添加相关代码(放在table标签后)

dialogImportVisible在默认值设置为false,当其为true时,弹窗出现

:multiple是否上传多个组件

:on-success="onUploadSuccess"上传成功调用该方法,该方法设置执行关闭弹窗刷新页面(自己编写的)

:action="'http://localhost:8202/admin/cmn/dict/importData'"点击上传时调用该方法,附url路径

<el-dialog title="导入":visible.sync="dialogImportVisible"width="480px">
<el-form label-position="right"label-width="170px"><el-form-item label="文件">
<el-upload
:multiple="false"
:on-success="onUploadSuccess"
:action="'http://localhost:8202/admin/cmn/dict/importData'"
class="upload-demo">
<el-button size="small"type="primary">点击上传</el-button>
<div slot="tip"class="el-upload__tip">只能上传xls文件,且不超过500kb</div>
</el-upload>
</el-form-item></el-form>
<div slot="footer"class="dialog-footer">
<el-button @click="dialogImportVisible = false">取消
</el-button>
</div>
</el-dialog>

在这里插入图片描述
在数据库中,需要把is_deleted字段默认值从1改为0,不然前端显示不出来

相关文章:

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

医院信息化与智能化系统(10) 这里只描述对应过程&#xff0c;和可能遇到的问题及解决办法以及对应的参考链接&#xff0c;并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图&#xff0c;可以试试PlantUML&#xff0c;告诉GPT你的文件结构&#xff0c;让他给你对应…...

基于YOLO11/v10/v8/v5深度学习的危险驾驶行为检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…...

Flink CDC系列之:学习理解核心概念——Transform

Flink CDC系列之&#xff1a;学习理解核心概念——Transform Transform参数元数据字段函数比较函数逻辑函数字符串函数时间函数条件函数 示例添加计算列参考元数据列使用通配符投影所有字段添加过滤规则重新分配主键重新分配分区键指定表创建配置分类映射用户定义函数已知限制 …...

MyBatis-Plus:简化 CRUD 操作的艺术

一、关于MyBatis-Plus 1.1 简介 MyBatis-Plus 是一个基于 MyBatis 的增强工具&#xff0c;它旨在简化 MyBatis 的使用&#xff0c;提高开发效率。 ​ ‍ ‍ ‍ ​ ‍ 关于Mybatis 简介 MyBatis 是一款流行的 Java 持久层框架&#xff0c;旨在简化 Java 应用程序与数…...

Windows on ARM编译安装openBLAS

Windows on ARM编译安装openBLAS 要求下载源码OpenBLAS可以使用LLVM工具链(clang-cl和flang)从源代码为Windows on ARM(WoA)进行构建。v0.3.24版本(预构建包)的构建和测试已通过。 要求 LLVM:版本需大于等于17.0.4 LLVM版本16及以下会生成冲突的符号(如_QQ*等)。 LL…...

FPGA编程语言VHDL与Verilog的比较分析!!!

VHDL&#xff08;VHSIC硬件描述语言&#xff09;和Verilog都是用于硬件描述和FPGA编程的工业标准语言。它们在语法和设计理念上存在一些差异&#xff0c;以下是两者的比较分析&#xff1a; 1. 历史背景 VHDL&#xff1a; 开发于1980年代初期&#xff0c;最初用于美国国防部的…...

C语言——八股文(笔试面试题)

1、 什么是数组指针&#xff0c;什么是指针数组&#xff1f; 数组指针&#xff1a;指向数组的指针 指针数组&#xff1a;数组中的元素都是指针 2、 什么是位段&#xff0c;什么是联合体 位段&#xff08;Bit Field&#xff09;&#xff1a;在C语言中&#xff0c;允许在一个整数…...

解决 Oracle 数据库错误 ORA-12516:监听器无法找到匹配协议栈的处理程序

在使用 Oracle 数据库时&#xff0c;有时会遇到错误 ORA-12516&#xff0c;这个错误表明 Oracle 数据库的监听器无法为新的连接请求找到一个可用的处理程序&#xff0c;这通常是因为达到了连接数上限、配置问题或资源限制。本文将详细介绍如何解决这个问题。 一、错误描述 当…...

Flarum:简洁而强大的开源论坛软件

Flarum简介 Flarum是一款开源论坛软件&#xff0c;以其简洁、快速和易用性而闻名。它继承了esoTalk和FluxBB的优良传统&#xff0c;旨在提供一个不复杂、不臃肿的论坛体验。Flarum的核心优势在于&#xff1a; 快速、简单&#xff1a; Flarum使用PHP构建&#xff0c;易于部署&…...

方法+数组

1. 方法 1. 什么是方法 方法定义&#xff1a; // []表示可写可不写[public] [static] type name ( [type formal , type formal , ...]){方法体&#xff1b;[return value ;] }[修饰符] 返回值类型 方法名称([参数类型 形参 , 参数类型 形参 ...]){方法体代码;[return 返回值…...

驱动-----adc

在key1.c的基础上进行对adc1.c进行编写 首先将文件里面的key全部改为adc 再修改一下设备号 按键和adc的区别是什么,按键只需要按一下就触发了,并且不需要返回一个值出来, adc要初始化,启动,返回值 以下是裸机adc的代码: #include <s3c2440.h> #include "ad…...

js实现点击图片,使图片跟随鼠标移动(把注释打开是图片随机位置)

代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title>&l…...

MacOS的powermetrics命令查看macbook笔记本的耗能情况,附带查看ANE的工作情况

什么是 powermetrics&#xff1f; powermetrics 是 macOS 系统自带的一个命令行工具&#xff0c;用于收集和分析系统能源消耗数据。通过它&#xff0c;我们可以深入了解 Mac 的硬件性能、软件行为以及能源使用情况&#xff0c;从而优化系统配置&#xff0c;提高电池续航时间。…...

字符串函数

大家好&#xff0c;今天我们来了解几个字符串函数 1.strcpy函数 这个函数是一个字符串复制函数&#xff0c;其全称为string copy&#xff0c;它可以将一个源字符数组的内容复制到目标字符数组中&#xff0c;我们需要关注几个问题&#xff0c;首先源字符串必须以&#xff3c;0…...

Java数组的地址和元素访问 C语言空指针与野指针

1. public static void main(String[] args) {int []arr{1,2,3,4,5};int numarr[0];System.out.println(num);System.out.println(arr[1]);System.out.println(arr);//[I610f87f48//[表示地址 I表示数据类型 表示间隔符号&#xff08;固定格式&#xff09;//10f87f48表示地址…...

如何在Linux系统中使用SSH进行安全连接

如何在Linux系统中使用SSH进行安全连接 SSH简介 安装SSH 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动SSH服务 验证SSH是否安装成功 SSH配置 配置监听端口 配置登录方式 SSH客户端 安装SSH客户端 使用SSH客户端 SSH密钥认证 生成SSH密钥对 复制公钥到远程服务器…...

Pandas 数据可视化指南:从散点图到面积图的全面展示

Pandas 数据可视化指南&#xff1a;从散点图到面积图的全面展示 本文介绍了使用 Pandas 进行数据可视化的多种方法&#xff0c;包括散点图、折线图、条形图、直方图、饼图和面积图等&#xff0c;涵盖了常见的图表类型及其实现方式。通过提供详细的代码示例&#xff0c;展示了如…...

Flink + Kafka 实现通用流式数据处理详解

Flink Kafka 实现通用流式数据处理详解 在大数据时代&#xff0c;实时数据处理和分析成为企业快速响应市场变化、提高业务效率和优化决策的关键技术。Apache Flink和Apache Kafka作为两个重要的开源项目&#xff0c;在数据流处理领域具有广泛的应用。本文将深入探讨Flink和Ka…...

Docker常用命令汇总

一、Docker基础命令 启动docker&#xff1a;systemctl start docker关闭docker&#xff1a;systemctl stop docker重启docker&#xff1a;systemctl restart dockerdocker设置随服务启动而自启动&#xff1a;systemctl enable docker查看docker 运行状态&#xff1a;systemctl…...

【Java笔记】0-为什么学习Java

呃&#xff0c;当然是为了找个Java的开发工作 当然是由于Java使用的人多和它天生自带的优点了~ 主要优点有以下几点&#xff1a; 简单性 C语法纯净版&#xff0c;没有头文件、指针运算、不用分配内存 面向对象 重点放在对象与其接口上&#xff0c;接近人的逻辑 可移植性 …...

海外云手机是什么?对外贸电商有什么帮助?

在外贸电商领域&#xff0c;流量引流已成为卖家们关注的核心问题。越来越多的卖家开始利用海外云手机&#xff0c;通过TikTok等社交平台吸引流量&#xff0c;以推动商品在海外市场的销售。那么&#xff0c;海外云手机到底是什么&#xff1f;它又能为外贸电商卖家提供哪些支持呢…...

【找到了】有人知道怎么在本地用记事本方式打开Linux文本文件吗?

就类似这种&#xff0c;我输入一个什么命令打开文件&#xff0c;就能在命令窗口上弹出一个编辑器来编辑文件。只记得好像有参数-e啥的。 命令行里面如何打开文本编辑器&#xff1f; &#xff08;&#xff09; 在linux命令行terminal上使用gedit直接就可以打开文本文件 那么在…...

docker 安装postgresql

前提&#xff1a;准备好postgresql镜像&#xff0c;如&#xff1a;镜像地址/postgres:15.8 使用docker安装posgresql&#xff1a; 1.docker pull 镜像地址/postgres:15.8 2.docker run -d --namepostgres -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e PO…...

2004至2023中国分省统计面板数据-最新出炉_附下载链接

中国各省绿色税收相关数据&#xff08;2007-2022年&#xff09;概述 下载链接-点它&#x1f449;&#x1f449;&#x1f449;&#xff1a;中国分省统计面板数据&#xff08;2004-2023&#xff09;-最新出炉.zip 资源介绍 绿色税收主要是指以保护环境、合理开发利用自然资源、…...

【算法】排序算法总结

文章目录 内排序一、插入排序1.1 直接插入排序1.2 折半插入排序1.3 希尔排序 二、选择排序2.1 简单选择排序2.2 堆排序 三、交换排序3.1 冒泡排序3.2 快速排序Hoare版挖坑法快速排序前后指针法快速排序的非递归 四、归并排序递归版本非递归版本 五、基数排序六、计数排序内排序…...

双11来了,云计算优惠大集合

京东云 2C2G强烈推荐 连接直达...

13. MapReduce自定义OutputFormat

一. OutputFormat简介 OutputFormat是MapReduce输出的基类&#xff0c;所有MapReduce输出都实现了OutputFormat接口&#xff0c;它接收ReduceTask产生的数据&#xff0c;然后将结果按照指定格式输出。 在MapReduce中&#xff0c;如果不指定&#xff0c;默认使用的是TextOutpu…...

Javase——正则表达式

正则表达式的相关使用 public static void main(String[] args) {//校验QQ号 System.out.println("3602222222".matches("[1-9][0-9]{4,}"));// 校验18位身份证号 System.out.println("11050220240830901X".matches("^([0-9]){7,18}…...

云原生文件系统之JuiceFS

JuiceFS 是一个分布式文件系统&#xff0c;专门为云原生环境设计&#xff0c;支持大规模数据存储和处理&#xff0c;特别适用于处理对象存储和大数据应用。JuiceFS 将元数据和数据分离&#xff0c;元数据保存在数据库中&#xff0c;而文件数据则存储在对象存储中&#xff0c;提…...

C++:输入和输出

一 . DEV C的下载和安装 二 . 第一个C程序 三 . 输出流 四 . 初始的数据类型 3.1、整型变量 3.2、双精度浮点数变量 3.3、字符型变量 3.4、字符串变量 3.5、无符号整型变量 五、输入流...

wordpress换了空间无法登录密码/近期热点新闻事件

本文是php-internals的读书笔记.概述1) 操作系统直接管理着内存&#xff0c;所以操作系统也需要进行内存管理&#xff0c;计算机中通常都有内存管理单元(MMU) 用于处理CPU对内存的访问。2) 应用程序无法直接调用物理内存&#xff0c; 只能向系统申请内存。向操作系统申请内存空…...

济南网站制作套餐/郑州百度推广代运营

降维[Dimensionality Reduction]:降维 是减少变量数量的过程。它可以用来从含有噪声的未加工特征中提取潜在特征&#xff0c;或者在维持原来结构的情况下压缩数据。MLlib提供了类RowMatrix 上的降维支持。奇异值分解 (SVD):奇异值分解(SVD)将一个矩阵分解为三个矩阵&#xff1a…...

jsp网站开发实例精讲/成都网站制作

是否有任何方法可以将日期时间格式化为RFC3339Nano例如&#xff1a;2006-01-02T15&#xff1a;04&#xff1a;05.999999999Z07&#xff1a;00在postgres 9.3或9.5中&#xff1f;我试过to_char.但没有文件说明如何处理T,Z,07&#xff1a;00,-07&#xff1a;00等.我能找到的最近的…...

怎么做pc端移动网站/seo关键词使用

目录 一、认识Git 二、下载安装Git 1、下载 2、安装 3、Git图像化界面安装及汉化 一、认识Git Git是目前世界上最先进的分布式版本控制系统&#xff0c;那么它就没有中央服务器的&#xff0c;每个人的电脑就是一个完整的版本库&#xff0c;这样&#xff0c;工作的时候就不…...

咸阳市网站建设公司/软文广告推广

首先计算出s数组&#xff0c;s表示可以重复的前缀等于后缀的个数&#xff0c;显然有s[i]s[next[i]]1&#xff0c;因为有且仅有next的next满足这个条件。 然后直接暴力枚举所有next&#xff0c;直到它小于i的一半&#xff0c;这个时间复杂度就是o(n)的 1 #include<bits/stdc.…...

上海网站建设找摩彼/百度浏览器下载官方免费

本文借鉴整理三篇文章&#xff0c;比较全面的用法总结了&#xff0c;看完本文无需再查阅其他资料 一、Keras 中使用 Dropout 正则化减少过度拟合 Dropout正则化是最简单的神经网络正则化方法。其原理非常简单粗暴&#xff1a;任意丢弃神经网络层中的输入&#xff0c;该层可以…...