医药进销存管理系统.docx
《医药进销存管理系统.docx》由会员分享,可在线阅读,更多相关《医药进销存管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
医药进销存管理系统
医药进销存管理系统
1概述
随着计算机的普及和计算机科学技术的飞速发展,人们越来越多的利用计算机解决实际问题,进销存管理是医药行业管理中的重要部分,面对大量的药品进、销、存信息,采用人力处理浪费大量的时间、人力和物力,并且数据准确性低,数据汇总速度慢,为解决这一问题,开发一个界面友好、易于操作的进销存管理系统是各个医药企业的首选。
整个系统操作简便、界面友好、灵活实用、安全,完成对进货、销售、库存管理全过程信息跟踪与管理,包括对操作员与数据库的维护,信息的添加、删除、查询、统计等。
2系统分析
2.1需求分析
根据一些大中型企业医药公司、药店、以及药品批发零售商的实际要求,要求本系统具有如下功能:
1、统一友好的操作界面,能保证系统的易用性
2、规范完整的基础信息设置
3、全方位多功能的信息查询
4、连续录入式的用户增添及维护
5、对药品的录入、采购、销售、退货、盘点等数据信息进行全面的管理
3总体设计
3.1项目规划
医药管理系统是一个典型的MsSQLServer2005数据库开发应用程序,系统主要由基本信息、业务管理、业务查询、用户管理和系统管理五个部分组成。
1、基本信息:
药品情况、客户情况、供应商情况。
2、业务管理:
药品采购、药品销售、库存盘点、销售退货、客户回款。
3、业务查询:
基本信息、入库明细、销售明细、回款信息。
4、用户管理:
增加用户、用户维护。
5、系统管理:
系统退出。
3.2系统功能结构图
图3-1医药进销存管理系统功能结构图
4系统设计
4.1设计目标
对于典型的数据库管理系统,尤其是对像医药管理系统这样的数据流量特别大的企业信息管理系统,必须满足方便、快捷等设计要求,本系统在设计应满足以下目标:
1、系统运行稳定、安全可靠
2、界面设计美观,人机交互界面友好
3、信息查询方便、快捷
4、基础信息设置规范、完善
5、对用户增添及修改实现连续式录入
4.2开发及运行环境
硬件平台:
CPU:
2.10GHz
内存:
2G
软件平台:
操作系统:
windows7
数据库:
SQLServer2008
开发工具包:
JDK-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008,
Spring-frameworker-1.2.7和Hibernate-3.1.3
分辨率:
最佳效果1024*768
4.3数据库设计
本系统数据库采用SQLServer2008数据库,系统数据库名称为DB_JXC,共包含11张表。
下面为各实体的ER图及主要数据表结构。
4.3.1ER图
1、客户实体ER图
图4-1客户ER图
2、商品实体ER图
图4-2商品ER图
4.3.2主要数据表
1、药品基本情况表
主要用于保存药品的基本情况,结构如下表。
表4-1药品基本情况表
字段名
数据类型
长度
主键否
描述
Ypbh
Varchar
20
是
药品编号
Ypdw
Varchar
20
药品单位
Ypmc
Varchar
80
药品名称
Jc
Varchar
20
简称
Gg
Varchar
10
规格
Gys
Varchar
20
供应商
Cd
Varchar
20
产地
Dw
Varchar
4
单位
Ph
Varchar
10
批号
Pzwh
Varchar
10
批准文号
Bz
Varchar
10
包装
2、客户基本信息表
主要用于保存客户基本情况,结构如下。
表4-2客户基本信息表
字段名
数据类型
长度
主键否
描述
Khbh
Varchar
20
是
客户编号
Khmc
Varchar
20
客户名称
jc
Varchar
10
简称
Dz
Varchar
80
地址
Dh
Varchar
20
电话
Yzbm
Varchar
10
邮政编码
Mail
Varchar
20
e-mail
Yhzh
Varchar
30
银行账号
Khyh
Varchar
40
开户银行
Cz
Varchar
20
传真
Lxr
Varchar
10
联系人
3、药品采购明细基本信息表
主要用于保存供应商基本情况,结构如下。
表4-3药品采购明细表
字段名
数据类型
长度
主键否
描述
Rklsh
Varchar
20
是
入库流水号
Rkdjh
Varchar
20
入库单据号
Ypbh
Varchar
20
药品编号
Rksl
Int
4
入库数量
Rkdj
Float
4
入库单价
Rkje
Float
8
入库金额
Rkrq
Datetime
8
入库时间
Kcsl
Int
4
库存数量
Kczt
Kcsts
4
库存状态
4、药品销售明细表
主要用于保存药品销售明细信息,结构如下。
表4-4药品销售明细表
字段名
数据类型
长度
主键否
描述
Xslsh
Varchar
20
是
销售流水号
Ypbh
Varchar
20
药品编号
Xsdjh
Varchar
20
销售单据号
Xssl
Int
4
销售数量
Xsdj
Float
4
销售单据
Xsje
Float
8
销售金额
Xsrq
Datetime
8
销售日期
Thzt
Varchar
10
退货状态
4.3.4数据库模型
截图如下:
图4-8数据库模型
(1)
图4-9数据库模型
(2)
4.3.5数据库访问
编写访问数据库的DAO类:
该公共类用来对数据库进行各种操作,包括数据的插入、更新、查询。
主要代码为:
packageappjxc.dao;
importappjxc.model.*;
importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;
importorg.springframework.orm.hibernate3.HibernateTemplate;
importjava.util.List;
publicclassDaoSupportextendsHibernateDaoSupport{
publicDaoSupport(){
/*---------添加一条数据到数据表中----------*/
publicbooleanInsertMedicine(obj_medicinemedicine){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(medicine);
returntrue;}
publicbooleanInsertClient(Obj_clientobjclient){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(objclient);
returntrue;}
publicbooleanInsertMedicine(Obj_gysobjgys){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(objgys);
returntrue;}
publicbooleanInsertSellMain(Obj_SellMainobj){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(obj);
returntrue;}
publicbooleanInsertSellDetaile(Obj_SellDetaileobj){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(obj);
returntrue;}
publicbooleanInsertBuyMain(Obj_BuyMainobj){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(obj);
returntrue;}
publicbooleanInsertBuyDetaile(Obj_BuyDetaileobj){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(obj);
returntrue;}
publicbooleanInsertStock(Obj_Stockobj){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(obj);
returntrue;}
publicbooleanInsertObj_SellDetaileTh(Obj_SellDetaileThobj){
//hibernateTemplate=this.getHibernateTemplate();
getHibernateTemplate().saveOrUpdate(obj);
returntrue;}
publicbooleanInsertObj_UserName(Obj_UserNameusername){
getHibernateTemplate().saveOrUpdate(username);
returntrue;}
/*----------查询所有数据表中的满足条件的数据集合-------*/
publicListgetAllMedicine(){
returngetHibernateTemplate().find("fromobj_medicine");
}
publicListQueryObject(StringQueryStr){
returngetHibernateTemplate().find(QueryStr);
}
/*---------------删除对应的表数据-----------*/
publicvoidDeleteUser(Obj_UserNameuser){
getHibernateTemplate().delete(user);
}}
5技术准备
Spring框架