java SSM 药品集中管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

news2024/11/19 15:13:45

一、源码特点
    java SSM 药品集中管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代
码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

java SSM 药品集中管理系统myeclipse开发my

医药集中采购系统可以有效的降低药品价格,确保药品质量,规范采购药品的行为,可以有效地遏制在药品销售活动中的不正之风,普通的药品采购行为存在着品种繁杂,规格多样,价格浮动较大,难以操作等缺点,医药集中采购系统可以有效地避免普通医药采购行为之中的暗箱操作,使药品的采购更加合理,公平,节约社会成本。

自 2010 年我国放开医药电子商务线上直销资格以来,该行业的发展出现了前所未有的盛世。从交易额看,医药电商市场的整体规模已由不足一亿迅速激增到目前近千亿的市场,成为了未来最具有发展前途的行业之一。但整个行业因为还处于发展初期,法律法规不够完善,参与成本过高,我国医药电商依旧存在以下几个方面的问题:

一是纵观整个市场,熟悉行业运行的电子商务专业化人才极其短缺,从业人员普遍缺乏专业

的医药储运知识,造成了医药电商的整体运作水平不高。

    二是该行业电子商务的发展多为企业自发推进的,缺少行业整体发展规划研究,而相关政策

法规尚不健全,监管体制存在着一定的漏洞,使得市场发展很不规范。

    三是由于医药电子商务的运营、维护等方面的资金投入较高,且盈利周期较长,因此,许多

医药电子商务企业都面临着成本压力过高的问题,这将严重阻碍着医药电商的进一步发展。

    当然,电商无法逃避的物流问题在医药集中采购系统中也是急需解决的难题,由于药品对所处环境的高要求,使得运输成为了一个难题,它要求运输人员拥有较高的素质,同时运输成本也有着相应的提高。医药成功采购完成后,良好的储备环境也使得成本进一步提高。所以,更加成熟,规范的体系急需被建立起来。

二、功能介绍
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)供货目录管理:对供货目录信息进行添加、删除、修改和查看
(3)采购目录管理:对采购目录信息进行添加、删除、修改和查看
(4)采购单管理:对采购单信息进行添加、删除、修改和查看
(5)退货单管理:对退货单信息进行添加、删除、修改和查看
(6)公告管理:对公告信息进行添加、删除、修改和查看

数据库设计

表1 用户信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

qx

VARCHAR

40

权限

6

lxdh

VARCHAR

40

联系电话

7

lxdz

VARCHAR

40

联系地址

表2 供货目录信息表

序号

字段名称

数据类型

长度

主键

描述

1

ghmlid

INTEGER

11

供货目录编号

2

ypmc

VARCHAR

40

药品名称

3

ghdw

VARCHAR

40

供货单位

4

lxdh

VARCHAR

40

联系电话

5

sm

VARCHAR

40

说明

6

jl

VARCHAR

40

剂量

表3采购目录表

序号

字段名称

数据类型

长度

主键

描述

1

cgmlid

INTEGER

11

采购目录编号

2

ypmc

VARCHAR

40

药品名称

3

yt

VARCHAR

40

用途

4

sl

VARCHAR

40

数量

5

sm

VARCHAR

40

说明

表4采购单信息表

序号

字段名称

数据类型

长度

主键

描述

1

cgdid

INTEGER

11

采购单编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

yp

VARCHAR

40

药品

5

yh

VARCHAR

40

用户

6

sl

VARCHAR

40

数量

7

qcsj

VARCHAR

40

起草时间

8

zt

VARCHAR

40

状态

9

pf

VARCHAR

40

批复

表5 退货单信息表

序号

字段名称

数据类型

长度

主键

描述

1

thdid

INTEGER

11

退货单编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

yp

VARCHAR

40

药品

5

yh

VARCHAR

40

用户

6

sl

VARCHAR

40

数量

7

czsj

VARCHAR

40

操作时间

8

zt

VARCHAR

40

状态

9

pf

VARCHAR

40

批复

表6 公告信息表

序号

字段名称

数据类型

长度

主键

描述

1

ggid

INTEGER

11

公告编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

fbsj

VARCHAR

40

发布时间

代码设计

@RequestMapping(value="/add")
    public String add(cgml cgml,HttpServletRequest request){
        Map<String,Object> map= new HashMap<String,Object>();
        //String name=(String)request.getParameter("name");

        map.put("cgmlid", cgml.getCgmlid());//采购目录编号

        map.put("ypmc", cgml.getYpmc());//药品名称

        map.put("yt", cgml.getYt());//用途

        map.put("sl", cgml.getSl());//数量

        map.put("sm", cgml.getSm());//说明

        cgmldao.save(map);
        
        
        request.setAttribute("msg", "<script>alert('添加成功');</script>");
        System.out.println("addok");
        return "cgml/cgmladd";
    }
    
    /**删除 
     * 
     */
    @RequestMapping(value="/del")
    public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
    //    Map<String,Object> map= new HashMap<String,Object>();
        String a=(String)request.getParameter("keyid");
        id=Integer.parseInt(a);
        request.setAttribute("msg", "<script>alert('删除成功');</script>");
        cgmldao.del(id);
        return selectall(null,map,request);
    }
    /**
     * 修改cgml信息
     */
    @RequestMapping(value="/update")
    public String update(cgml cgml,HttpServletRequest request,Map<String,Object> map1){
        Map<String,Object> map= new HashMap<String,Object>();
        map.put("cgmlid", cgml.getCgmlid());//采购目录编号

        map.put("ypmc", cgml.getYpmc());//药品名称

        map.put("yt", cgml.getYt());//用途

        map.put("sl", cgml.getSl());//数量

        map.put("sm", cgml.getSm());//说明

        request.setAttribute("msg", "<script>alert('修改成功');</script>");
        cgmldao.update(map);
        return selectall(null,map1,request);
    }
    /**
     * 查询cgml信息
     */
    @RequestMapping(value="/modify")
    public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
        String keyid=(String)request.getParameter("keyid");
        List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
        list=cgmldao.select(Integer.parseInt(keyid));
        request.setAttribute("cgmlid", list.get(0).get("cgmlid"));//采购目录编号

        request.setAttribute("ypmc", list.get(0).get("ypmc"));//药品名称

        request.setAttribute("yt", list.get(0).get("yt"));//用途

        request.setAttribute("sl", list.get(0).get("sl"));//数量

        request.setAttribute("sm", list.get(0).get("sm"));//说明

        
        return "cgml/cgmlmodify";
    }
    
    @RequestMapping(value="/detail")
    public String detail(Integer id,Map<String,Object> map,HttpServletRequest request){
        String keyid=(String)request.getParameter("keyid");
        List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
        list=cgmldao.select(Integer.parseInt(keyid));
        request.setAttribute("cgmlid", list.get(0).get("cgmlid"));//采购目录编号

        request.setAttribute("ypmc", list.get(0).get("ypmc"));//药品名称

        request.setAttribute("yt", list.get(0).get("yt"));//用途

        request.setAttribute("sl", list.get(0).get("sl"));//数量

        request.setAttribute("sm", list.get(0).get("sm"));//说明

        return "cgml/cgmldetail";
    }
    


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmyiyao.sql,系统名称ssmyiyao
    4、系统首页地址:http://127.0.0.1:8080/ssmyiyao/

四 、系统实现

 

 

 

 

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 

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

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

相关文章

[神经网络]迁移学习-微调

一、概述 一般的有监督迁移学习分为以下三种&#xff1a; ①将训练好的模型作为特征抽取模块&#xff08;例如以resnet进行特征提取&#xff09; ②在一个相关的任务中训练后直接后直接使用(例如gpt) ③在训练好的模型基础上进行微调 此外还有无监督学习的方式 zero-shot&#…

【集群】LVS+Keepalived群集

文章目录 前言一、Keepalived的概念1. Keepalived 概述2. Keepalived 作用3. Keepalived 实现原理剖析3.1 Keepalived 工作原理3.1 VRRP协议&#xff08;虚拟路由冗余协议&#xff09; 4. Keepalived 主要模块及其作用4.1 健康检查方式&#xff08;学名&#xff1a;探针&#x…

【架构基础】正交设计四原则

数学中的正交&#xff0c;是指相互垂直的两个向量&#xff0c;简单来讲就是平面上的两个垂直线段&#xff0c;其中一个线段变长或减短或者转圈圈&#xff0c;另外一根是不变的也不影响它们的垂直度的。表现为空间的独立性&#xff0c;在软件中我们可以理解为两个只有交叉点而互…

springboot0+java+vuie个人家庭财务理财系统

。本文介绍了个人理财系统的开发全过程。通过分析个人理财系统管理的不足&#xff0c;创建了一个计算机管理个人理财系统的方案。文章介绍了个人理财系统的系统分析部分&#xff0c;包括可行性分析等&#xff0c;系统设计部分主要介绍了系统功能设计和数据库设计。 本个人理财系…

【数据湖架构】在 Azure Data Lake Storage (ADLS)二代上构建数据湖

介绍 一开始&#xff0c;规划数据湖似乎是一项艰巨的任务——决定如何最好地构建数据湖、选择哪种文件格式、是拥有多个数据湖还是只有一个数据湖、如何保护和管理数据湖。并非所有这些都需要在第一天回答&#xff0c;有些可能通过反复试验来确定。构建数据湖没有明确的指南&am…

【C++】一文带你吃透C++多态

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; C/C专栏 &#x1f319;那些看似波澜不惊的日复一日&#xff0c;…

【链表part02】| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、02.07.链表相交、142.环形链表

目录 ✿LeetCode24.两两交换链表中的节点❀ ✿LeetCode19.删除链表的倒数第N个节点❀ ✿LeetCode面试题 02.07. 链表相交❀ ✿LeetCode142.环形链表||❀ ✿LeetCode24.两两交换链表中的节点❀ 链接&#xff1a;24.两两交换链表中的节点 给你一个链表&#xff0c;两两交换其…

轻骑逐单于,大雪满弓刀:华为分布式存储的一骑绝尘

唐代诗人卢纶&#xff0c;有一首脍炙人口的《和张仆射塞下曲》&#xff0c;“月黑雁飞高&#xff0c;单于夜遁逃。欲将轻骑逐&#xff0c;大雪满弓刀。”诗中的慷慨激昂&#xff0c;热血炙烈&#xff0c;千年来让无数国人心魂激荡。 时代变迁&#xff0c;岁月迁移&#xff0c;今…

LeetCode面向运气之Javascript—第20题-有效的括号-95.97%

LeetCode第20题-有效的括号 题目要求 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号…

卑微小测试的一天----自动生成正交法测试用例

前言 工作过程中&#xff0c;我们接触到需求后第一要务是 熟悉需求并且输出测试用例&#xff0c;针对接口测试的入参测试&#xff0c;需要校验大量入参的组合场景&#xff0c;这时我们通常采用正交法来设计测试用例&#xff0c;在减少测试用例的数量时&#xff0c;同时保障测试…

Java 命名规范

包命名规范 包(Package) 的作用是将功能相似或相关的类或者接口进行分组管理&#xff0c;便于类的定位和查找&#xff0c;同时也可以使用包来避免类名的冲突和访问控制&#xff0c;使代码更容易维护。通常&#xff0c;包名使用小写英文字母进行命名&#xff0c;并使用 “.” 进…

LeetCode——半有序排列

一、题目 2717. 半有序排列 - 力扣&#xff08;Leetcode&#xff09; 给你一个下标从 0 开始、长度为 n 的整数排列 nums 。 如果排列的第一个数字等于 1 且最后一个数字等于 n &#xff0c;则称其为 半有序排列 。你可以执行多次下述操作&#xff0c;直到将 nums 变成一个 …

LeetCode_前缀树_困难_212.单词搜索 II

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xf…

网络安全学术顶会——SP 2023 议题清单、摘要与总结(中)

注&#xff1a;本文由ChatGPT与Claude联合生成 51、Effective ReDoS Detection by Principled Vulnerability Modeling and Exploit Generation 正则表达式拒绝服务攻击&#xff08;ReDoS&#xff09;是一种算法复杂度攻击。对于易受攻击的正则表达式&#xff0c;攻击者可以精心…

kotlin学习(一)基本概念、数据对象类型、控制流程、空值检验、类与接口

文章目录 认识Kotlin跨平台特性语言类型java的语言类型kotlin的运行原理 hello world 基本概念程序入口数据与对象类型 和 显式数字转换浮点类型位运算AnyUnitNothing 声明变量只读变量 val与可变变量var查看Kotlin字节码 fun&#xff08;方法 / 函数&#xff09;函数参数默认值…

MindMapper 思维导图 21.x

MindMapper 可视化绘图软件是任何想要快速组织思想和想法的人的必备工具。MindMapper 具有易于使用的界面&#xff0c;可以轻松创建可用于头脑风暴、决策制定和项目管理的综合思维导图。MindMapper 还是一个非常强大的生产力工具&#xff0c;因为它允许用户跟踪他们在项目和任务…

Linux GCC,GDB,Shell脚本的简单使用

这里写目录标题 GCC命令GDB命令Shell脚本 GCC命令 GCC&#xff08;GNU Compiler Collection&#xff0c;GNU编译器套件&#xff09;是由GNU开发的编程语言译器 编译一个简单的.c程序&#xff1a; 四步分开写&#xff1a; gcc -E -o hello.i hello.c // 预处理 gcc -S -o he…

49、基于51单片机无刷电机调速系统设计(程序+原理图+PCB图+英文文献+参考论文+开题报告+元器件清单等)

摘 要 由于电机的发展&#xff0c;电动机由之前的带有刷子变换为无刷子直流电动机&#xff0c;其内部结构是电子换向器&#xff0c;而不是传统的机械式换向器&#xff0c;电动机的组成为永磁材料制造的转子和带有线圈绕组的定子组成。 所以本论文思路在全面分析无刷直流电机…

Tuleap ,一个用于软件项目管理的平台

Eclipse 基金会使用 Tuleap 取代了 Bugzilla,Tuleap 是一个独特的开源项目管理工具&#xff0c;目前发展势头很好&#xff0c;现在&#xff0c;每个月它会出一个大版本。它还被列在2015 年五大开源项目管理工具和 2016 年十一个名列前茅项目管理工具中。 Manuel Vacelet 是开发…

【MySQL】一文带你了解MySQL的基础知识

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…