基于SSM实现的医院医药药品管理系统-JAVA【毕业设计定制、快速开发、源码、开题报告】

article/2025/8/21 11:55:57

  

功能介绍

登录系统:管理员需要输入正确的用户名和密码来登录系统,从而完成各类信息的管理工作;

信息查询:查询客户信息、查询经办人信息、查询药品信息;

信息录入:录入顾客信息、录入经办人信息、录入药品信息;

信息修改:删除顾客信息、删除经办人信息、删除药品信息;

信息浏览:浏览顾客信息、删除经办人信息、删除药品信息;

数据报表:顾客信息报表、经办人信息报表、药品信息报表;

用户管理:管理系统的各个管理员信息。

部分功能模块代码

package mms.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import mms.pojo.Agency;
import mms.pojo.EasyUIResult;
import mms.services.AgencyService;@RequestMapping("Agency")
@Controller
public class AgencyController {// 经办人controller@Autowiredprivate AgencyService agencyService;// 通过ano查询单个经办人@RequestMapping("GetAgency")@ResponseBodypublic Agency queryAgencyByAno(String ano) {Agency agency = agencyService.queryAgencyByAno(ano);return agency;}@RequestMapping(value = "DeleteAgency", produces = "text/html;charset=UTF-8")@ResponseBody// 按编号删除public String deleteAgencyByAno(String ano) {return agencyService.deleteAgencyByAno(ano);}// 批量删除@RequestMapping(value = "DeleteRows", produces = "text/html;charset=UTF-8")@ResponseBodypublic String deleteAgencyByRows(@RequestParam(value = "array[]") String[] array) {try {return agencyService.deleteAgencyByRows(array);} catch (Exception e) {// TODO: handle exception// 捕获异常,spring进行事务回滚return "操作异常,,某些经办人处理过顾客信息,无法删除该经办人,请重新选择";}}// 修改经办人信息@RequestMapping(value = "ModifyAgency", produces = "text/html;charset=UTF-8")@ResponseBodypublic String modifyAgency(Agency agency) {return agencyService.modifyAgency(agency);}// easyui数据表格返回全部经办人json@RequestMapping("GetMessage")@ResponseBodypublic EasyUIResult queryAllAgency(@RequestParam(value = "page", defaultValue = "1") Integer page,@RequestParam(value = "rows", defaultValue = "5") Integer rows) {return this.agencyService.queryAllAgency(page, rows);}// 保存经办人信息@RequestMapping(value = "SaveAgency", produces = "text/html;charset=UTF-8")@ResponseBodypublic String saveAgency(Agency agency) {return agencyService.saveAgency(agency);}// 返回所有经办人@RequestMapping("GetAllAgency")@ResponseBodypublic java.util.List<Agency> getAllAgency() {java.util.List<Agency> allAgency = agencyService.getAllAgency();return allAgency;}
}
package mms.services;import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import mms.mapper.AgencyMapper;
import mms.pojo.Agency;
import mms.pojo.EasyUIResult;/*经办人service
处理业务逻辑*/
@Service
@Transactional
public class AgencyService {// 注入mapper@Autowiredprivate AgencyMapper agencyMapper;public Agency queryAgencyByAno(String ano) {// TODO Auto-generated method stubAgency agency = agencyMapper.queryAgencyByAno(ano);return agency;}public EasyUIResult queryAllAgency(Integer page, Integer rows) {// TODO Auto-generated method stubPageHelper.startPage(page, rows);List<Agency> agencies = agencyMapper.queryAllAgency();PageInfo<Agency> pageInfo = new PageInfo<Agency>(agencies);return new EasyUIResult(pageInfo.getTotal(), agencies);}public String saveAgency(Agency agency) {// TODO Auto-generated method stubtry {if (queryAgencyByAno(agency.getAno()) != null) {return "经办人编号已经存在,请重新输入编号";}agencyMapper.saveAgency(agency);return "保存成功";} catch (Exception e) {// TODO: handle exceptionreturn "操作异常,请刷新后操作";}}public String deleteAgencyByAno(String ano) {// TODO Auto-generated method stubtry {agencyMapper.deleteAgencyByAno(ano);} catch (Exception e) {// TODO: handle exceptionreturn "删除失败,此经办人为客户提供过服务," + "无法删除此经办人";}return "删除成功";}public String modifyAgency(Agency agency) {// TODO Auto-generated method stubAgency queryAgencyByAno = queryAgencyByAno(agency.getAno());if (queryAgencyByAno != null) {if (queryAgencyByAno.getAid() != agency.getAid())return "这个经办人编号已经存在,不能修改为这个编号";}try {agencyMapper.modifyAgency(agency);} catch (Exception e) {// TODO: handle exceptionreturn "修改失败,可能是有客户在此经办人购药," + "无法修改编号";}// agencyMapper.modifyAgency(agency);return "修改成功";}public List<Agency> getAllAgency() {// TODO Auto-generated method stubList<Agency> allAgency = agencyMapper.queryAllAgency();return allAgency;}public String deleteAgencyByRows(String[] array) {// TODO Auto-generated method stubtry {for (String ano : array) {agencyMapper.deleteAgencyByAno(ano);}} catch (Exception e) {// TODO: handle exception// 抛出异常让spring捕获,进行事务回滚throw new RuntimeException();}return "删除成功";}}
package mms.mapper;import java.util.List;
import mms.pojo.Agency;public interface AgencyMapper {public Agency queryAgencyByAno(String ano);public void saveAgency(Agency agency);public List<Agency> queryAllAgency();public void deleteAgencyByAno(String ano);public void modifyAgency(Agency agency);
}

论文目录


http://chatgpt.dhexx.cn/article/PbggTjmF.shtml

相关文章

ec java sm2证书_国密算法SM2证书制作

前段时间将系统的RSA算法全部升级为SM2国密算法&#xff0c;密码机和UKey硬件设备大都同时支持RSA和SM2算法&#xff0c;只是应用系统的加解密签名验证需要修改&#xff0c;这个更改底层调用的加密动态库来&#xff0c;原来RSA用的对称加密算法DES(AES)和摘要MD5(SHA1)也相应改…

SM2椭圆曲线

文章目录 题目环境方案设计背景原理算法步骤 方案实现流程图加密解密 主要函数C代码测试数据结果 注意问题 说明 题目 实现SM2椭圆曲线公钥密码算法&#xff0c;对给出的英文消息进行加密得到密文&#xff0c;并能通过密文解密出明文。 环境 Windows10&#xff0c;MinGW-W64…

JAVA集成国密SM2

JAVA集成国密SM2加解密 一、pom配置二、代码集成2.1、目录结构2.2、源码2.3、测试 三、相关链接 国密算法概述&#xff1a;https://blog.csdn.net/qq_38254635/article/details/131801527 SM2椭圆曲线公钥密码算法 为非对称加密&#xff0c;基于ECC。该算法已公开。由于该算法…

Java SM2

pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http…

ECCSM2

ECC&SM2 ECC 基本内容 概念 ECC 全称为椭圆曲线加密&#xff0c;EllipseCurve Cryptography&#xff0c;是一种基于椭圆曲线数学的公钥密码。与传统的基于大质数因子分解困难性的加密方法(RSA)不同&#xff0c;ECC 依赖于解决椭圆曲线离散对数问题的困难性。它的优势主要…

C# SM2

Cipher using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Digests; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Math; using Org.BouncyCastle.Math.EC;namespace SM2Test {/// <summary>/// 密码计算/// </summary>public…

Springboot整合SM2加密的笔记

首先要明白公钥是加密&#xff0c;私钥用来解密。 国密公钥格式&#xff1a;公钥为64位&#xff0c;前后各32位&#xff0c;对应椭圆算法中BigInteger X 和 BigInteger X &#xff0c;私钥为32位&#xff0c;对应算法中的BigInteger d。 工具类&#xff1a; 可以参考https:/…

SM2加解密、签名验签

导论 SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法&#xff0c;在我们国家商用密码体系中被用来替换RSA算法。 国产SM2算法&#xff0c;是基于ECC的&#xff0c;但二者在签名验签、加密解密过程中或许有些许区别&#xff0c;目前鄙人还不太清楚&#xff0c…

sm2和sm4加密算法浅析

sm2和sm4加密算法浅析 一: SM2 简介&#xff1a;SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法 &#xff0c;SM2为非对称加密&#xff0c;基于ECC。该算法已公开。由于该算法基于ECC&#xff0c;故其签名速度与秘钥生成速度都快于RSA。ECC 256位&#xff0…

国密算法(SM2)简介及SM2生成秘钥

国密算法&#xff08;SM2&#xff09;生成秘钥 一、国密算法介绍二、SM2算法和RSA算法比较三、生成SM2秘钥1、openssl生成SM2秘钥1.1、安装openssl1.2、生成SM2私钥1.3、生成SM2公钥 2、nodejs:使用sm-crypto包生成SM2秘钥3、c生成秘钥 参考 一、国密算法介绍 国密即国家密码局…

向量积(叉积)

a和b叉积可表示为ab&#xff0c;结果是一个和这两个向量都垂直的伪向量 ab absinθ*n &#xff0c;ab为两向量的模长&#xff0c;θ是两向量的夹角&#xff0c;n是垂直二者的单位向量。 叉积的长度可以理解为以ab为邻边的平行四边形面积 叉积的运算 反交换律 ab-ba 分配律…

向量的点乘(内积)和叉乘(外积)

向量点乘&#xff1a;a * b&#xff08;常被写为a b&#xff09; 点乘,也叫向量的内积、数量积.顾名思义,求下来的结果是一个数. 向量a向量b|a||b|cos 在物理学中,已知力与位移求功,实际上就是求向量F与向量s的内积,即要用点乘. 向量叉乘&#xff1a;a ∧ b&#xff08;常被…

向量的内积(点乘)与外积(叉乘)

向量的内积&#xff08;点乘&#xff09;与外积&#xff08;叉乘&#xff09; 向量的内积点乘 向量的外积叉乘 向量的内积&#xff08;点乘&#xff09; 内积的几何意义&#xff1a; 用来表征或计算两个向量之间的夹角在b向量在a向量方向上的投影。 向量的外积&#xff08;叉…

两向量的向量积

两向量的向量积 两向量 a 与 b 的向量积&#xff08;外积&#xff09;是一个向量&#xff0c;记做 a b \mathbf{a}\times \mathbf{b} ab 或 [ a b ] [\mathbf{a}\mathbf{b}] [ab]&#xff0c;它的模是 ∣ a b ∣ ∣ a ∣ ∣ b ∣ sin ⁡ ∠ ( a , b ) |\mathbf{a}\times…

8.2 向量数量积与向量积(点乘与叉乘)

本篇内容依然是向量的运算&#xff0c;只不过不属于线性运算&#xff0c;内容包括向量的数量积与向量积。 一、向量的数量积&#xff08;内积、点乘&#xff0c;参与运算的是向量&#xff0c;结果是数&#xff09; &#xff08;一&#xff09;问题产生的背景与表达 &#x…

【口诀】巧记泰勒公式

函数 多项式函数 可以计算出精确值 非多项式函数 无法计算出精确值 泰勒公式的本质 多项式函数逼近非多项式函数 随着项数累加&#xff0c;逼近的误差就会越小 规律&#xff1a; 只需要确定x的指数符号只有两种情况 要么符号相同(全为) 要么符号交替( -)开头要么1&am…

matlab泰勒公式含义,泰勒公式的哲学意义与敏捷研发

学过微积分的人都知道泰勒展开公式,它是将一个在x=x0处具有n阶导数的函数f(x)利用关于(x-x0)的n次多项式来逼近函数的方法,用标准的数学术语来描述是这样的:若函数f(x)在包含x0的某个闭区间[a,b]上具有n阶导数,且在开区间(a,b)上具有(n 1)阶导数,则对闭区间[a,b]上任意一点…

泰勒公式及泰勒级数

目录 一、背景二、提出问题三、解决问题四、应用——泰勒级数※ 函数的幂级数展开 参考文献 一、背景 对于一些复杂的函数&#xff0c;通常会找简单的函数做近似&#xff0c;而多项式函数就是常用的一种简单函数。 比如当 ∣ x ∣ |x| ∣x∣ 很小时&#xff0c;有以下近似&a…

泰勒公式求极限(如何用+精度怎么确定)一文扫除泰勒公式难点

有些复杂的极限题&#xff0c;里面会涵盖着各种各样的函数&#xff0c;这些群魔乱舞的函数加大了我们计算极限的难度&#xff0c;此时想&#xff1a;如果可以将这些函数统一成一样的形式该多好?此时&#xff0c;就有我们的泰勒公式了。 1.泰勒公式怎么用&#xff1a; 指数函…

泰勒公式记忆方法

泰勒公式记忆方法 几个常见函数的泰勒公式 f ( x ) f ( x 0 ) f ′ ( x 0 ) ( x − x ) f ′ ′ ( x 0 ) 2 ! ( x − x 0 ) 2 ⋯ f ( n ) ( x 0 ) n ! ( x − x 0 ) n R n ( x ) f ( x ) f ( 0 ) f ′ ( 0 ) x f ′ ′ ( 0 ) 2 ! x 2 ⋯ f ( n ) ( 0 ) n ! x n o (…