基于java的进销存管理系统设计与实现

news2024/9/21 18:53:23
  1. 需求分析

进销存主要是帮助商业企业全面有效管理采购、销售和库存,软件适用于需要进行采购管理,销售管理以及库存管理的所有商业企业。

    1. 进销存系统的产生和发展情况

进销存软件是一款通用性极强的商业企业进销存管理系统,软件囊括了商业企业日常经营管理的全过程。软件适用于食品、服装、保健品、电子、电器、物资等商业领域的企业。软件覆盖商业企业商品的采购、销售、库存、管理决策支持等各个环节,软件的各个模块操作界面简单、实用,并使系统图文并茂,让用户可以在最短的时间内掌握软件的使用方法,帮助用户生意早日更上一层楼。软件的采购管理、销售管理、库存管理功能强大,灵活,同时为用户提供方便实用的模糊查询功能,用户可以在最短时间内找到自己所需要的信息。软件系统采用流行的B/S结构。软件采用模块级安全管理,系统安全性高。软件对在使用过程中可能出现的外部意外情况,如断电、网络中断等均进行了妥善处理,可以确保用户数据的完整性,同时在外部故障消除后,系统仍能继续操作。系统软件采用Java平台进行开发并实现,用户选用SQL Server数据库进行统一管理。

    1. 进销存管理系统的需求分析

需求分析过程是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求,并且将现实事务抽象成对象并建模。

结构化的系统分析与设计方法贯穿于系统的分析与设计的始终。该方法要求信息系统的开发工作按照规定步骤,使用一定的工具,在结构化和模块化的基础上进行。

      1. 数据流图

1. 系统顶层数据流图,用户登录系统后,根据不同权限可以对采购管理、基本数据管理、库存管理、销售管理、财务管理分别进行操作。

系统顶层数据流图如图3-1所示。

图3-1 系统顶层数据流图

2. 系统销售管理数据流图,用户登录系统后,可以对销售业务进行操作,比如填写销售申请单、填写销售单、处理客户退货单、进行销售统计等。

系统销售管理数据流图如图3-2所示。

图3-2 系统销售管理数据流图

3. 系统采购管理数据流图,用户登录系统后,可以对采购业务进行操作,比如填写采购申请单、验收货物等。

系统采购管理数据流图如图3-3所示。

图3-3 系统采购管理数据流图

4. 系统库存数据流图,用户登录系统后,可以对库存业务进行操作,比如查询库存信息,调拨产品等。

系统库存管理数据流图如图3-4所示。

图3-4 系统库存管理数据流图

      1.   数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据项,数据流,数据存储和数据处理。

数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。它主要是对数据流图中的数据流、处理逻辑、外部实体、数据存储和数据项等方面进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。

1. 数据项定义

表3-1 系统采购层数据项定义

编号

名称

别名

类型

长度

I01-01

csId

采购申请编号

varchar

50字节

I01-02

csName

采购申请产品

varchar

50字节

I01-03

csValue

采购申请产品单价

float

8字节

I01-04

csNo

采购申请产品数量

int

4字节

I01-05

csLeixing

采购类型

varchar

50字节

I01-06

csPeople

采购申请人

varchar

50字节

I01-07

csPhone

采购申请人电话

varchar

50字节

I01-08

csDate

采购申请日期

datetime

8字节

I01-09

csZonge

采购申请预算金额

float

8字节

I01-10

csBeizhu

采购申请备注

varchar

200字节

I01-11

csZhuangtai

采购申请状态

varchar

50字节

I01-12

shBumen

申请部门

varchar

50字节

I01-13

shZhong

申请单据种类

varchar

50字节

I01-14

shSpDate

审批日期

datetime

8字节

I01-15

cgGpeople

供方联系人

varchar

50字节

I01-16

cgGphone

供方联系方式

varchar

50字节

I01-17

cgZhekou

采购折扣

float

8字节

I01-18

cgYuncheng

运费承担方

varchar

50字节

I01-19

cgYunfei

运费金额

float

8字节

I01-20

cgFufang

付款方式

varchar

50字节

I01-21

cgYunfang

运输方式

varchar

50字节

I01-22

cgYufu

预付款金额

float

8字节

I01-23

cgQuankuan

全款金额

float

8字节

I01-24

cgFkdate

付款日期

datetime

8字节

I01-25

cgJhdate

进货日期

datetime

8字节

续表3-1

I01-26

jhShno

损坏数量

int

4字节

I01-27

jhShijia

产品市场价格

float

8字节

I01-28

ruCangku

进化仓库

varchar

50字节

I01-29

ruPeople

入库人员

varchar

50字节

2. 数据流定义

系统采购管理数据流定义:

数据流编号:D1-01

数据流名称:申请采购产品

数据流来源:采购员

数据流去向:P1-01

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11

数据流编号:D1-02

数据流名称:填写采购申请单信息

数据流来源:P1-01

数据流去向:F1-01

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11

数据流编号:D1-03

数据流名称:获取采购申请信息

数据流来源:F1-01

数据流去向:P1-01

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11

数据流编号:D1-04

数据流名称:提交采购申请单

数据流来源:P1-01

数据流去向:P1-05

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11

数据流编号:D1-05

数据流名称:提交待审批信息

数据流来源:P1-01

数据流去向:F1-02

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11

数据流编号:D1-06

数据流名称:给出采购评估意见

数据流来源:P1-05

数据流去向:F1-02

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14

数据流编号:D1-07

数据流名称:获取评估意见

数据流来源:F1-02

数据流去向:P1-02

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14

数据流编号:D1-08

数据流名称:制定采购订单

数据流来源:采购员

数据流去向:P1-02

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+

I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+

I01-24+I01-25

数据流编号:D1-09

数据流名称:填写采购订单信息

数据流来源:P1-02

数据流去向:F1-03

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+

I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+

I01-24+I01-25

数据流编号:D1-10

数据流名称:提交采购订单

数据流来源:P1-02

数据流去向:P1-05

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+

I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+

I01-24+I01-25

数据流编号:D1-11

数据流名称:获取采购订单信息

数据流来源:F1-03

数据流去向:P1-05

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+

I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+

I01-24+I01-25

数据流编号:D1-12

数据流名称:给出采购审批状态

数据流来源:P1-05

数据流去向:F1-03

数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14+

I01-15+I01-16+I01-17+I01-18+ I01-19+I01-20+I01-21+

I01-22+I01-23+I01-24+ I01-25

数据流编号:D1-13

数据流名称:进货

数据流来源:采购员

数据流去向:P1-03

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27

数据流编号:D1-14

数据流名称:生成进货信息

数据流来源:P1-03

数据流去向:F1-04

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27

数据流编号:D1-15

数据流名称:获取到货信息

数据流来源:F1-04

数据流去向:P1-04

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27

数据流编号:D1-16

数据流名称:产品已经到货验收

数据流来源:P1-03

数据流去向:P1-04

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27

数据流编号:D1-17

数据流名称:验收产品

数据流来源:采购员

数据流去向:P1-04

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27

数据流编号:D1-18

数据流名称:以验收产品入库

数据流来源:P1-04

数据流去向:F1-05

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+ I01-27+

I01-28+I01-29

数据流编号:D1-19

数据流名称:通知财务付款

数据流来源:P1-04

数据流去向:F1-06

数据流组成:I01-01+I01-02+I01-04+I01-06+I01-17+I01-19+ I01-22+

I01-23+I01-25+I01-26+I01-27

3. 数据存储定义

系统采购管理数据存储定义:

数据存储编号:F1-01

数据存储名称:采购申请信息表

数据存储简述:用来存储要采购的产品的申请表

数据存储组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11

数据存储编号:F1-02

数据存储名称:采购评估表

数据存储简述:用来存储对提交过来的申请给出评估

数据存储组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14

数据存储编号:F1-03

数据存储名称:采购订单信息表

数据存储简述:用来存储对已经批准的产品制定详细的合同

数据存储组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+

I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14+

I01-15+I01-16+I01-17+I01-18+ I01-19+I01-20+I01-21+

I01-22+I01-23+I01-24+ I01-25

数据存储编号:F1-04

数据存储名称:进货表

数据存储简述:用来存储已经到货的产品的信息

数据存储组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27

数据存储编号:F1-05

数据存储名称:入库表

数据存储简述:用来存储产品入库的信息

数据存储组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+ I01-27+

I01-28+I01-29

数据存储编号:F1-06

数据存储名称:付款信息表

数据存储简述:用来存储已到货产品的付款信息

数据存储组成:I01-01+I01-02+I01-04+I01-06+I01-17+I01-19+ I01-22+

I01-23+I01-25+I01-26+I01-27

4. 数据处理定义

系统采购管理数据处理定义:

数据处理编号:P1-01

数据处理名称:填写采购申请单

数据处理简述:填写一个采购申请

数据处理输入:D1-01

数据处理输出:D1-02+ D1-04+ D1-05

数据处理编号:P1-02

数据处理名称:填写采购订单

数据处理简述:制定采购合同

数据处理输入:D1-07+D1-08

数据处理输出:D1-09+D1-10

数据处理编号:P1-03

数据处理名称:生成进货单

数据处理简述:对以到货的产品进行统计

数据处理输入:D1-12+D1-13

数据处理输出:D1-14+D1-16

数据处理编号:P1-04

数据处理名称:验收货物

数据处理简述:已到货的产品进行验收入库

数据处理输入:D1-15+D1-16+ D1-17

数据处理输出:D1-18+D1-19

数据处理编号:P1-05

数据处理名称:发送采购申请单到财务评估模块

数据处理简述:对提交过来的申请单给出审批意见

数据处理输入:D1-03+D1-04+ D1-10+D1-11

数据处理输出:D1-06+D1-12

    1. 本章小结

本章对该系统进行了详细的分析,并且采用数据流图对软件运行过程中的数据的产生、流转、存储进行了详细的描述,数据字典中定义了软件中产生的数据的存储格式和意义。

  1. 总体设计
    1. 系统模块总体设计

本阶段设计的基本目的是解决系统如何实现问题,也叫做概要设计。利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个矩形框代表组成这个数据的实际数据元素。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性和可修改性,并且容易掌握和使用。

本系统一共分为六个模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。

依据上述功能的分析,系统中模块分别为:采购管理、销售管理、库存管理、基本资料管理、系统维护和财务管理。

各功能模块的具体功能如下:

1. 采购管理:主要是负责采购的一个模块,负责申请采购产品、制定采购合同、进货和退货给厂家等操作。

2. 销售管理:主要是负责销售的一个模块,负责与客户打交道,把产品销售出去。也需要制定销售单,处理客户的退货要求。同时也会对销售业绩做一个统计。

3. 库存管理:对库存进行管理工作,进货、出货的管理,损坏产品的管理,还有对库存的一个基本查询。

4. 基本资料:对基础数据进行管理,包括客户、产品、仓库和公司的资本资料的维护。

5. 系统维护:对用户的一个管理,可以用来分配权限、添加用户和修改密码。

6. 财务管理:对采购和销售的资金进行管理,平且来审批采购和销售提交过来的申请单。

系统功能结构图如图4-1所示

  

图4-1 系统功能结构图

    1. 数据库设计

数据库技术是计算机科学领域中发展最快的技术之一,也是应用最广的技术之一,目前,它已成为计算机信息系统与应用系统的核心技术和重要基础。具体的说,数据库设计是一个给定的应用环境,构造最优的用户应用需求。这个问题是我们在进行软件开发时期主要研究的方向。

      1. 数据库设计概述

数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构设计和行为设计密切结合起来。数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。

数据库设计的任务是根据一个单位的信息需求、处理需求和数据库的支撑环境。其中信息需求表示一个单位所需要的数据及其结构。处理需求表示一个单位需要经常进行的数据处理。前者表达了对数据库的内容及结构的要求,也就是静态要求;后者表达了基于数据库的数据处理要求,也就是动态要求。

      1. 数据分析

数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。

数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。

要确定实体和关系的性质,用户必须确定单个实体和他们相关的属性。为每个对象定义一个完整的与商业相关的描述以及他单独使用的要求,这也包括确定此实体是否使用应用程序的永久需求,每种关系的基本定义使用了商业定义和与关系相连接的需求。

      1. 数据库的详细设计

在设计数据库时,应考虑以下事项:

1. 数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划。

2. 数据库规范化规则,防止数据库设计中出现错误。

3. 对数据完整性的保护。

4. 数据库和用户权限的安全要求。

5. 应用程序的性能需求,设计数据库时必须利用SQL Server 2000中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的。

6. 数据库维护。

实体-联系图(Entity-Relation Diagram)用来建立数据模型,通常将它简称为E-R图。E-R图提供了表示实体、属性和联系的方法,用来描述现实世界的概念模型。

在E-R图中要明确表明1对多关系,1对1关系和多对多关系。1对1关系在两个实体连线方向写1;1对多关系在1的一方写1,多的一方写N;多对多关系则是在两个实体连线方向各写N,M。下面根据数据库画出详细的E-R图。

数据库E-R如图4-2所示。

图4-2 数据库E-R图

      1. 数据表的详细设计

根据韩泰轮胎销售公司的实际情况,本系统的数据库命名为:jxc。该数据库共有22个表,其主要表结构如表4-1至4-10所示。

1. 采购订单信息表,用来存储采购员申请采购的订单信息,包括采购主题、产品名称、采购员姓名等字段,如表4-1所示。

表4-1 t_caigou(采购订单信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

采购标识

int

4

2

cgZhuti

采购主题

varchar

50

3

cgId

采购单编号

varchar

50

4

cgName

产品名称

varchar

50

5

cgValue

产品单价

float

8

6

cgNo

采购数量

int

4

7

cgLeixing

采购类型

varchar

50

8

cgPeople

采购员姓名

varchar

50

9

cgPhone

采购员联系方式

varchar

50

10

cgGpeople

供方联系人

varchar

50

11

cgGphone

供方联系方式

varchar

50

12

cgZhekou

采购折扣

float

8

13

cgYuncheng

运输承担方

varchar

50

14

cgYunfei

运费金额

float

8

15

cgFufang

付款方式

varchar

50

16

cgYunfang

运输方式

varchar

50

17

cgYufu

预付款金额

float

8

18

cgQuankuan

全款金额

float

8

19

cgFkdate

付款日期

detetime

8

20

cgJhdate

进货日期

detetime

8

21

cgSqdate

申请日期

detetime

8

22

cgZhuangtai

采购单状态

varchar

50

23

cgCsId

采购申请标识

int

4

24

cgBeizhu

备注

varchar

200

2. 仓库信息表,用来存储仓库的基本信息,包括仓库编号、仓库名称、仓库类型、仓库规格、仓库电话等字段,如表4-2所示。

表4-2 t_cangku(仓库信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

标识

int

4

2

ckName

仓库名称

varchar

50

续表4-2

3

ckLeixng

仓库类型

varchar

50

4

ckGuige

仓库规格

varchar

50

5

ckZhuangtai

仓库状态

varchar

50

6

ckGuanliyuan

仓库管理员

varchar

50

7

ckPhone

仓库电话

varchar

50

3. 客户信息表,用来存储客户的基本资料,包括客户编号、客户类型、联系人、所在地区、具体地址、联系方式、所在城市等字段,如表4-3所示。

表4-3 t_customer(客户信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

客户标识

int

4

2

cusName

客户名称

varchar

50

3

cusLeixing

客户类型

varchar

50

4

cusJsfs

金额结算方式

varchar

50

5

cusJglx

价格类型

varchar

50

6

cusLianxiren

客户联系人

varchar

50

7

cusMobilephone

手机号码

varchar

50

8

cusCity

所在城市

varchar

50

9

cusField

所在地区

varchar

50

10

cusAddress

具体地址

varchar

50

11

cusPhone

固定电话

varchar

50

12

cusFox

传真

varchar

50

13

cusLrdate

录入日期

detetime

8

14

cusBeizhu

备注

varchar

200

15

cusId

客户编号

varchar

50

4. 库存调拨信息表,用来存储产品调拨的信息,包括产品名称、调入仓库、调出仓库、调拨日期等字段,如表4-4所示。

表4-4 t_diaobo(库存调拨信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

标识

int

4

2

dbId

调拨单编号

varchar

50

3

dbName

调拨产品名称

varchar

50

4

dbRu

调入仓库

varchar

50

5

dbChu

调出仓库

varchar

50

6

dbZhuangtai

调拨状态

varchar

50

7

dbDate

调拨日期

detetime

8

8

dbNo

调拨数量

int

4

9

dbKcId

库存标识

int

4

续表4-4

10

dbSqdate

申请日期

detetime

8

5. 进销存汇总信息表,用来存储付款信息、收款信息和退款信息的一个总表,包括单据编号、提交单据的部门、提交单据等种类、经手人等字段,如表4-5所示。

表4-5 t_huizong(进销存汇总信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

汇总标识

int

4

2

hzId

单据编号

varchar

50

3

hzBumen

部门

varchar

50

4

hzZhong

种类

varchar

50

5

hzPeople

申请人

varchar

50

6

hzYu

预款金额

float

8

7

hzQuan

全款金额

float

8

8

hzSqdate

申请日期

detetime

8

9

hzJpeople

经手人

varchar

50

10

hzSpdate

审批日期

detetime

8

11

hzSkId

收款编号

int

4

12

hzFkId

付款编号

int

4

13

hzTkId

退款编号

int

4

14

hzZhuangtai

状态

varchar

200

6. 进货信息表,用来存储已经到货的产品的信息,包括产品名称、到货数量、产品单价、到货日期、到货数量等字段,如表4-6所示。

表4-6 t_jinhuo(进货信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

进货标识

int

4

2

jhId

进货单编号

varchar

50

3

jhName

产品名称

varchar

50

4

jhNo

到货数量

int

4

5

jhDhdate

到货日期

detetime

8

6

jhShno

损坏数量

int

4

7

jhPeople

经手人

varchar

50

8

jhValue

产品单价

float

8

9

jhShijia

产品市价

float

8

10

jhCgId

采购标识

int

4

11

jhZt

进货单状态

varchar

50

7. 库存信息表,用来存储当前仓库中的产品的信息,包括产品名称、库存数量、所在仓库、市场价格、挤压成本等字段,如表4-7所示。

表4-7 t_kucun(库存信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

库存标识

int

4

2

kcId

库存编号

varchar

50

3

kcName

产品名称

varchar

50

4

kcNo

库存数量

int

4

5

kcCangku

所存仓库

varchar

50

6

kcValue

产品单价

float

8

7

kcShijia

产品市价

float

8

8

kcBeizhu

备注

varchar

200

9

kcNowcang

产品现存仓库

varchar

50

10

kcZhuangtai

库存状态

varchar

50

11

kcPeople

经手人

varchar

50

12

kcSqdate

申请日期

detetime

8

13

kcSpdate

审批日期

detetime

8

14

kcYijian

库存意见

varchar

50

15

kcRudate

入库日期

detetime

8

16

kcChudate

出库日期

detetime

8

17

kcDbdate

调拨日期

detetime

8

18

kcChucang

出货仓库

varchar

50

19

kcJiya

挤压产品成本

float

8

20

kcZt

库存状态

varchar

50

21

kcNcid

仓库标识

int

4

8. 审批信息表,用来存储采购部和销售部提交过来的申请信息,包括审批编号、申请部门、申请单种类、产品总额、申请日期等字段,如表4-8所示。

表4-8 t_shenpi(审批信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

标识

int

4

2

shId

审批编号

varchar

50

3

shBumen

申请部门

varchar

50

4

shZhong

申请单种类

varchar

50

5

shPeople

申请人

varchar

50

6

shZhuangtai

申请单状态

varchar

50

7

shSqDate

申请日期

detetime

8

8

shSpDate

审批日期

detetime

8

9

shBeizhu

备注

varchar

200

10

shName

申请单编号

varchar

50

11

shShangping

申请产品名称

varchar

50

12

shValue

产品单价

float

8

续表4-8

13

shNo

数量

int

4

14

shZonge

产品总额

float

8

15

shPhone

申请人联系方式

varchar

50

16

shCsId

采购申请单标识

int

4

17

shCgId

采购标识

int

4

18

shXdId

销售订单标识

int

4

19

shFenlei

申请分类

varchar

50

9. 用户信息表,用来存储使用该系统的用户的基本信息,包括用户名、密码等字段,如表4-9所示。

表4-9 t_user(用户信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

编号

int

4

2

username

用户名

varchar

50

3

password

密码

varchar

50

4

sex

性别

varchar

50

5

age

年龄

int

4

6

zhiwu

职务

varchar

50

7

phone

联系电话

varchar

50

8

email

电子邮件

varchar

50

9

address

地址

varchar

50

10

beizhu

备注

varchar

50

10. 销售订单信息表,用来存储销售员与客户定制的销售订单,包括销售主题、产品名称、单价、折扣等字段,如表4-10所示。

表4-10 t_xiaoding(销售订单信息表)

序号

英文名

中文名

类型

长度(字节)

1

id

销售订单标识

int

4

2

xdZhuti

销售主题

varchar

50

3

xdDdid

订单编号

varchar

50

4

xdChid

产品编号

varchar

50

5

xdName

产品名称

varchar

50

6

xdValue

产品单价

float

8

7

xdNo

销售数量

int

4

8

xdLeixing

销售类型

varchar

50

9

xdZhekou

折扣

float

8

10

xdPeople

销售员

varchar

50

11

xdPhone

销售员联系方式

varchar

50

12

xdKhpeople

客户联系人

varchar

50

续表4-10

13

xdKhphone

客户联系方式

varchar

50

14

xdCity

客户所在城市

varchar

50

15

xdDian

店面名称

varchar

50

16

xdYuncheng

运费承担方

varchar

50

17

xdYunfei

运费金额

float

8

18

xdFufang

付款方式

varchar

50

19

xdYunfang

运输方式

varchar

50

20

xdXddate

下单日期

detetime

8

21

xdFkdate

付款日期

detetime

8

22

xdJhdate

交货日期

detetime

8

23

xdYufu

预付款金额

float

8

24

xdQuankuan

全款金额

float

8

25

xdZhuangtai

销售订单状态

varchar

50

26

xdCusId

客户标识

int

4

27

xdYgId

员工标识

int

4

28

xdProId

产品标识

int

4

29

xdBeizhu

备注

varchar

200

    1. 本章小结

总体设计阶段,在需求分析的基础之上规划出了系统的功能模块,以及在此分析基础上设计出的具体的、可以满足本系统全部需求的数据库。将该系统分成了六个功能模块,并对每个模块的基本功能进行了叙述。提供了系统功能模块图、以及系统E-R图,然后对本系统使用的数据库的结构进行了详尽的叙述,同时列出了部分表的表结构。

在总体设计阶段,由于数据库在设计中有非常重要的作用,所以在开发过程中,在考虑数据库上的时间较多。

  1. 详细设计
    1. 系统运行平台设置

硬件环境:台式计算机(PC)一台,如表5-1所示。

表5-1 运行环境硬件配置

硬件

配置

处理器

Pentium III800以上

内存

256M以上

硬盘空间

30G以上

软件环境:Windows 2000 Professional or Windows 2000 Server操作系统。

    1. 开发工具简介

1. MyEclipse 6.0

MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率,它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试、和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。

在结构上,MyEclipse的特征可以被分为7类:

(1) JavaEE模型

(2) WEB开发工具

(3) EJB开发工具

(4) 应用程序服务器的连接器

(5) JavaEE项目部署服务

(6) 数据库服务

(7) MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

2. SQL Server 2000

SQL是英文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立关系,进行沟通。按照ANSI(美国国家标准协会)规定,SQL被作为关系型数据库管理系统的标准语言,SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。

SQL Server 2000,是Microsoft公司推出的SQL Server数据库管理系统的版本,该版本继承了SQL Server 7.0版本的优点,同时又比它增加了许多更先进的功能,只有使用方便、可伸缩性好、与相关软件及承诺过程度高等优点。可以运行Microsoft Windows 2000以上的大型多处理器等多种平台使用。

同时,SQL Server 2000还提供了存储过程。这样的好处是,应用程序访问数据库的数据并不是直接的与数据库表打交道,而是通过存储过程的运行来获取所需要的数据。这样的设计有一个好处就是,避免了频繁的表操作,而通过运行在服务器端的存储过程可以极大的提高运作效率和提升访问数据的速度,同时也很好的屏蔽了数据表的逻辑,使得数据库访问变成了数据库提供的服务访问。

Microsoft SQL Server 2000能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQL Server 2000实例。SQL Server 2000为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。这使 SQL Server 2000得以应用于应用程序必须在本地存储数据的小型系统中。

    1. 系统主界面设计

本系统的主界面整体结构为上左右结构,上面部分显示系统名称以及当前用户名称以及角色,左面部分采用了树型层次结构罗列了系统的全部功能,包括采购管理、销售管理、库存管理、基本资料管理、系统维护、财务管理,并且展开之后包括全部功能的子模块。右面部分为客户区,显示当前操作的使用窗口,并且在右下角现实用户当前登录的时间。简洁、清晰的界面使用户赏心悦目。

系统主界面如图5-1所示。

图5-1 系统主界面

    1. 采购管理功能设计

采购管理是进销存系统中最为重要的模块之一。在本系统中,采购并不涉及很多供应商。因此,在本系统中,采购管理包括了采购申请单管理、采购订单管理、进货单管理和退货单管理功能。现在我就采购申请单加以详细说明。

添加采购申请单如图5-2所示。

图5-2 采购申请单

1. 实现目标

用户登陆后,系统判断其使用权限,如果没有使用权限,则拒绝其访问。如果有使用权限,则可以新建采购申请。提交给财务进行审批,审批结束后将申请单退回给用户。用户可以查看通过和未通过的申请及审批意见,对未通过的申请进行修改或删除,修改后的申请可以再次提交。对已通过的申请可以进行归档。

采购申请功能程序流程图描述:首先用户登录,判断其权限,有权限,填写采购申请,否则进行重新登录。填写完采购申请,确定提交则送到财务审批,否则重新填写采购申请。财务审批通过之后通知申请人结束,不通过,返回申请处重新填写。

采购申请功能程序流程图如图5-3所示。

图5-3 采购申请功能程序流程图

2. 实现过程

(1) JSP页说明

采购申请主要JSP文件功能如表5-2所示。

表5-2 采购申请主要JSP文件功能列表

JSP页面名称

功能

addCaishen.jsp

添加采购申请页面

listCaishen.jsp

全部采购申请列表页面

listCaishentx.jsp

已通过采购申请列表页面

selectCaishen.jsp

查看采购申请页面

updateCaishen.jsp

更新采购申请页面

(2) 数据库相关表

数据库中采购申请相关表如表5-3所示。

表5-3 数据库中采购申请相关表

表名

模块名

t_user

系统管理

t_caishen

采购管理

t_shenpi

财务管理

(3) 主要Java类

采购申请主要用到的Java类如表5-4所示。

表5-4 采购申请主要用到的Java类

类名

功能

com.slv.bean.Caishen.java

采购申请单实体类

com.slv.service.CaishenService.java

采购申请业务逻辑层

com.slv.service.impl.CaishenServiceImpl.java

采购申请业务逻辑实现层

com.slv.action.CaishenAction.java

采购申请表示层

(4) 主要方法

采购申请主要用到的方法如表5-5所示。

表5-5 采购申请主要用到的方法名

方法名

功能

addCaishenAction()

添加采购申请单

deleteCaishenAction()

删除采购申请单

listCaishenAction()

遍历采购申请单

listCaishentixingAction()

遍历通过采购申请单

jdcxCaishenAction()

按条件查询

    1. 销售管理功能设计

一个好的销售公司要有良好的销售管理。本系统在销售管理模块设定了销售申请单管理、销售订单管理、客户退货单管理和销售统计管理。下面,就销售单和销售统计加以详细说明。

      1. 销售单

销售单管理操作界面如图5-4所示。

1. 实现目标

用户登陆后,系统判断其使用权限,如果没有使用权限,则拒绝其访问。如果有使用权限,则可以对进货单进行操作。对已经销售的产品进行出货、查询库存管理。同时提交给财务部,进行收款管理。对销售单的内容只可以进行查看和删除操作。对已通过的信息可以进行归档。

销售单管理流程图描述:首先用户登录,判断其权限,有权限,填写详细销售单,否则进行重新登录。填写完销售单,确定提交则送到库存进行产品出库操作,并且送到财务进行收款业务,否则重新填写销售单。财务和库存全部通过之后通知申请人结束,不通过,返回申请处重新填写。

销售单管理流程图如图5-5所示。

图5-4 销售单管理操作界面

2. 实现过程

(1) JSP页说明

销售单管理主要JSP文件功能如表5-6所示。

表5-6 销售单管理主要JSP文件功能列表

JSP页面名称

功能

listXiaoshou.jsp

全部销售单列表页面

listXiaoshoujdcx.jsp

按条件查询销售单列表页面

selectXiaoshou.jsp

查看销售单页面

updateXiaoshou.jsp

验证销售单页面

(2) 数据库相关表

数据库中销售单管理相关表如表5-7所示。

表5-7 数据库中销售单管理相关表

表名

模块名

t_xiaoshou

销售管理

t_chuku

库存管理

续表5-7

t_user

系统管理

t_shoukuan

财务管理

图5-5 销售单管理流程图

(3) 主要Java类

销售单管理主要用到的Java类如表5-8所示。

表5-8 销售单管理主要用到的Java类

类名

功能

com.slv.bean.Xiaoshou.java

销售单实体类

com.slv.service.XiaoshouService.java

销售业务逻辑层

com.slv.service.impl.XiaoshouServiceImpl.java

销售业务逻辑实现层

com.slv.action.XiaoshouAction.java

销售表示层

(4) 主要方法

销售单管理主要用到的方法如表5-9所示。

表5-9 销售单管理主要用到的方法名

方法名

功能

deleteXiaoshouAction()

删除销售单

list XiaoshouAction()

遍历销售单

enterUpdateAction()

对以销售产品进行查询

jdcxXiaoshouAction()

按条件查询

 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

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

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

相关文章

第六届机器人与智能制造技术国际会议 (ISRIMT 2024)

重要信息 大会官网:www.isrimt.org(点击了解大会,参会,投稿等信息) 大会时间:2024年9月20-22日 大会地点:中国-江苏常州 收录检索:IEEE Xplore, EI Compendex, Scopus 大会简介…

航空公司名字趣史:看看有趣又有意义的命名背后有什么玄机

上周“东海航空”事件引发了东方航空在社交媒体上的一系列被迫营业,因为媒体的乌龙报道误将“东海航空”简称为“东航”,甚至直接用错了图片。众号:标猿公司起名 给公司起个好名字 其实除了大部分以地域、国家命名的航空公司,还…

Java 8 Optional用法【总结记录】

一、前言 这里引用书中描述来介绍Optional类: Optional是为核心类库设计的一个数据类型,用来替换null值。人们对原有的null值有很多抱怨,甚至连发明这一概念的Tony Hoare也是如此,他曾说这是自己的一个“价值连城的错误”。作为一…

cad导出图片格式怎么导出?5个软件帮助你快速转换文件格式

cad导出图片格式怎么导出?5个软件帮助你快速转换文件格式 将CAD文件导出为图片格式可以帮助你更方便地展示、分享或打印设计图纸。CAD(Computer-Aided Design)文件通常以DWG或DXF格式保存,而要将它们转换为常见的图片格式&#x…

NodeJS “次元高校”社团管理系统 ---附源码94897

摘要 计算机科学技术的飞速发展也更好地促进了高校信息化建设。为了适应新形势下更好地培养人才,高校在发展的过程中开始推进信息系统的建设。随着我国教育模式的不断改革和发展,越来越多的高校正在开展校园信息工程建设,以更好地提高高校的各…

C / C++内存管理

内存分布 1. 栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈是向下增长的。 2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共 享内存,做进程间通信,子进程堆区的开辟。 3. …

文心快码帮你解大厂面试题:TCP关闭连接的过程,为什么要4次挥手,为什么最大等待时间是2*MSL?

🔍【大厂面试真题】系列,带你攻克大厂面试真题,秒变offer收割机! ❓今日问题:在8g内存的机器,能否启动一个7G堆大小的java进程? ❤️一起看看文心快码Baidu Comate给出的答案吧!如…

Oracle RAC 修改系统时区避坑指南(深挖篇)

大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。 目录 前言环境安装问题重现时区检查修改时区问题分析问题解决 深究根源问题一问题二问题三 写在最后往期精彩文章推荐 前言 昨天遇到一个问题,Oracle RAC 安装完之后&#xff0…

bitsandbytes使用错误:CUDA Setup failed despite GPU being available

参考:https://huggingface.co/docs/bitsandbytes/main/en/installation 报错信息 ======================

【JavaEE精炼宝库】网络原理基础——网络层 | IP协议

文章目录 一、IP 协议的格式二、IP 地址的数量限制三、私有 IP 地址和公网 IP 地址3.1 私有 IP 地址和公网 IP 地址的基本知识:3.2 内网 IP 设备访问外网 IP 设备的过程(NAT 机制): 四、地址管理4.1 网段划分:4.1.1 网…

npm、cnpm、pnpm、yarn包管理工具别傻傻分不清楚了

干啥的: nodejs的包管理工具。 用于自动化处理包的安装、更新、配置和管理。它们之间的主要区别在于它们各自的实现方式、性能优化、以及一些特有的功能。 怎么用: 1、npm 1.1、描述 Node Package Manager默认包管理器从 npm 公共仓库中安装、共享…

.net framework 4.8 开发windows系统服务

ps:旧技术了,有一点局限性,但好像网上记录并不多,或是很零散,比较坑人。故自己记录一下。 项目环境: win 10、.Net framework 4.8,Visual Studio 2019,oracle 12G,ORM是SqlSugar5.…

uniapp video标签无法播放视频

当video标签路径含有中文以及特殊字符视频就会无法播放 解决方法使用encodeURIComponent对路径进行加密处理 videoSrc data.coursewareFile? ${appConfig.apiUrl encodeURIComponent(data.coursewareFile)}: "";最后效果

GHA高质量seo文章怎么写?

撰写高质量SEO文章不仅仅是文字的堆砌,更是对内容的精心打磨,而GHA文章更是如此,想写出一篇GHA文章,首先就要保证以下几点,一定要原创,谷歌对于原创内容是极其看重的,哪怕是伪原创,在…

一种导出PPT到MP4的方法

需求 导出PPT到MP4,并记录每页,每个动作的时间线。通过 MP4时间线 就可以在页面上很方便的放映PPT的内容,并支持翻页点击。 代码 保存每一页的图像信息,用做播放器的缩略图 public void SaveThumbnail(string ppt_filepath, st…

【STL】红黑树的全面探索与红黑树的实现

ps:文章最后有完整的代码 1.红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路…

如何使用IDEA搭建Mybatis框架环境

文章目录 ☕前言为什么学习框架技术Mybatis框架简介 🍹一、如何配置Mybatis框架环境1.1下载需要MyBatis的jar文件1.2部署jar文件1.3创建MyBatis核心配置文件configuration.xml1.4.创建持久类(POJO)和SQL映射文件1.5.创建测试类 🧋二、 MyBatis框架的优缺…

前端性能优化:使用Vue3+TS+Canvas对图片进行压缩后再上传,优化带宽,减小服务器存储成本,减少流量损耗

在上传图片之前,对图片进行压缩。看到这里是不是有点懵,前端怎么压缩图片呢,这不应该是后端做的吗? 但是我在开发的时候接到了这样一个需求,要求对用户上传的图片进行一定的压缩,而且并且尽量还原图片的清…

大模型如何改变世界?李彦宏:未来至少一半人要学会“提问题“

2023年爆火的大模型,对我们来说意味着什么? 百度创始人、董事长兼CEO李彦宏认为,“大模型即将改变世界。” 5月26日,李彦宏参加了在北京举办的2023中关村论坛,发表了题为《大模型改变世界》的演讲。李彦宏认为&#…

2024年新算法-基于SBOA-BP混合神经网络的数据预测(Python代码实现)

在今天的数字化时代,机器学习和人工智能领域的不断发展为数据处理和预测提供了强大的工具。其中,BP神经网络(反向传播神经网络)作为一种经典的网络模型,因其能够处理复杂的非线性问题而备受关注。然而,传统…