黄子豪,李鑫,王心悦

(山东科技大学电气信息系,山东济南,250031)

0 引言

在不使用开源集成框架的开发情况下,利用MySQL数据库以及JSP+Servlet技术进行小微系统的设计是目前比较主流的开发方式。这种开发模式基于传统的MVC开发模式,为系统的后期维护和扩展提供了方便,并且提高了的代码的复用性和可维护性,也使程序更简化,更加直观。

1 开发环境

(1)开发语言: JAVA;

(2)开发工具: Eclipse 2020-06、Navicat for MySQL、MySQL数据库;

(3)操作系统:Windows 10;

(4)数据库版本: MySQL 5.0。

2 数据库设计

(1)往来单位信息表:含有助记码、单位代码、单位性质、单位类别、单位名称、所属行业、所属地区、账号、联系人、业务电话、地址、E-MAIL;

(2)商品信息表:含有助记码、商品代码、商品名、商品类别、商品型号、商品规格、生产厂家、产地、库存上限、库存下限、预设售价、成本价、供货信息、备注;

(3)仓库信息表:含有仓库代码、仓库名称、备注;

(4)银行账户信息表:含有账户代码、账户名称、备注;

(5)员工信息表:含有员工代码、员工姓名、所属部门、联系电话、备注;

(6)费用科目信息表:含有费用科目代码、费用科目名称、费用科目类别、备注;

(7)期初商品库存信息表:含有仓库代码、商品代码、商品名称、商品型号、商品规格、厂家、库存数量、成本单价、库存金额、库存金额合计;

(8)期初应收付款信息表:含有客户代码、客户名称、应收金额、应付金额、备注信息;

(9)期初银行账户信息表:含有银行账户代码、银行账户名称、期初金额、备注信息;

(10)进货信息表:含有进货单据号码、进货日期、经手人、开票方式、付款方式、付款日期、备注信息;

(11)退货信息表:含有退货单据号码、退货日期、商品名称、商品数量、供应商、生产厂商、备注信息。

3 部分模块设计

(1)登录注册模块设计:用户首先通过系统主页进行账号的注册,根据要求填写信息后注册成功,通过账号密码进行登录。

(2)往来单位模块设计: 已登录系统并具有管理往来单位信息模块权限的用户可对往来单位进行增加、删除、修改、查询、打印等操作,其中增加和修改操作可以对基础信息进行设置,查询操作可以针对不同索引进行查询。

(3)商品信息模块设计: 已登录系统并具有管理商品信息模块权限的用户可对商品信息进行增加、删除、修改、查询、打印等操作,其中增加和修改操作可以对基础信息进行设置,查询操作可以针对不同索引进行查询,也可进行模糊查询。

(4)仓库信息模块设计: 已登录系统并具有管理仓库信息模块权限的用户可对仓库信息进行增加、删除、修改、保存等操作,其中增加和修改操作可以对基础信息进行设置。

(5)银行账户信息模块设计: 已登录系统并具有管理银行账户信息模块权限的用户可对银行账户信息进行增加、删除、修改、保存等操作,其中增加和修改操作可以对基础信息进行设置。

(6)员工信息模块设计: 已登录系统并具有管理员工信息模块权限的用户可对员工信息进行增加、删除、修改、保存等操作,其中增加和修改操作可以对基础信息进行设置,也可针对员工姓名检索员工信息。

(7)费用科目信息模块设计:已登录系统并具有管理费用科目信息模块权限的用户可对费用科目类别进行增加、删除、修改、保存等操作, ,也可针对科目进行增加删除和修改操作。

(8)期初商品库存信息模块设计:具有管理期初商品库存信息的用户可对期初商品库存进行增加商品库存、修改商品库存、删除商品库存、保存商品库存信息、退出商品库存等操作,其中增加和修改操作都需对库存数量进行更新,且可以通过商品代码进行查询商品进行商品的选择,同时可选择存储仓库(通过仓库名称)进行商品的选择。

(9)期初应收付款信息模块设计:具有管理期初应收付款信息的用户可对期初应收付款进行增加记录、修改记录、删除记录、保存记录和退出的操作,其中增加和修改记录应通过客户选择中的各项进行查找,在进行操作后需对应收金额和应付金额进行更新,并记录修改记录和备注。

(10)期初银行账户信息模块设计:用户可通过本模块对期初银行账户信息进行管理,具体操作有增加、删除、修改、保存等,并可以手动返回。

(11)进货信息模块设计:用户可读取进货单信息,可对进货单信息进行手动增加、删除、修改、打印等功能,也可通过不同索引对进货信息进行查询,也可对进货信息进行批量选择操作,修改较为便利。

(12)进货查询模块设计:用户可通过一般查询输入或高级查询输入对进货单信息进行查询。一般查询输入可通过起始日期、供应商、商品名称、入库仓库、生产厂家等属性进行查询;高级查询输入则可根据日期、单据号码、商品类别、商品名称、商品数量、商品单价、商品金额等属性进行查询,也可进行排序查询。

(13)采购付款查询模块设计:采购付款查询的所有输入数据需选择开始和结束时间对时间进行限制查询,也可选择付款单位进行查询。

(14)进货日报模块设计:用户进入进货日报模块,可通过设置开始和结束日期查看在此期间的进货清单信息,也可通过多种选项进行检索查询,可选择进货信息进行打印。

(15)进货商品统计模块设计:用户可进入进货商品统计界面输入开始和结束日期并选择查询方法,如果无检索信息则退出,有检索信息则可选择打印功能,也可根据当前查询情况统计进货商品总额,并在系统中显示,最后退出。

4 系统实现

(1)用户注册:进入进销存管理系统,点击用户注册,根据注册要求及格式注册用户账号,以便后期登陆系统进行操作。

(2)登陆系统:进入进销存管理系统,使用账号密码进行登录,其中用户为已经注册成功的并具有管理基础信息权限的用户。

(3)用户界面: 用户登陆成功后将进入主用户界面,界面中可选择对应模块进行管理,也可选择切换或退出当前账户。

(4)基础模块管理界面: 具有管理员权限的用户可以对往来单位信息、商品信息、员工信息、仓库信息、银行账户信息、费用科目信息等模块进行管理,用户首先可查询当前数据库中已存在的往来单位信息、商品信息、仓库信息等信息(系统同时支持文本模糊查询),并可以根据实际需求对各类信息进行操作,例如可实现增加商品信息(增加前系统会验证是否已存在,若该商品信息不存在则增加成功),也可实现删除某商品信息(删除后系统会同步商品信息及库存数量等相关信息),还可实现修改商品信息的操作(修改商品的数量、价格、金额等信息),最后用户操作完成后可手动保存信息后退出,也可选择打印对应信息。

(5)初始化信息管理界面:用户可通过此界面对进销存系统中的信息进行初始化,其中包括对期初商品库存信息、期初应收付款信息、期初银行账户信息的初始化。用户进入期初商品库存信息界面首先会看到数据库中已存在的对应期初商品的各项信息,其中包括商品代码、名称、规格、价格等信息,用户可根据右上角下拉菜单选择对应的查询项进行搜索查询(支持模糊查询)具体商品的信息;也可点击左上角添加按钮对期初商品信息进行添加,系统在添加前会在数据库中查询该商品是否已存在;还可点击每种商品信息栏最后的删除或修改按钮对相应的期初商品信息进行操作,修改或删除后系统会同步商品信息及库存数量等相关信息; 用户最后可选择返回初始化管理页面或打印相应商品信息并保存。

(6)进货管理界面:具有管理员权限的用户登陆后可通过此界面对进货信息以及退货信息进行管理,界面中包括进货及退货查询、采购付款查询、进货日报查看、进货商品及金额统计等功能。首先对库存进行查询,如果某种商品的进货状态为缺货或货量少时管理员应负责联系供应商进行补货,当该商品进货完成时,系统自动更新库存状态,此时进货功能完成;用户可对采购的付款记录进行核对查询,通过与商品库存数量的对应确认订单;用户可自主选择某段时间的进退货日报进行查询,本功能实现查看某段时间内的进货记录;在用户查询进货记录时可选择金额统计功能,系统将根据订单进货数量及单价统计订单的金额并展示。

(7)个人信息管理:已登录的用户可根据权限自主修改个人信息及密码的修改,不可修改用户权限,用户权限只有管理员可修改。

(8)退出系统:当前用户可通过手动点击退出按钮的方式安全退出系统并保存本次修改的所有信息。

5 业务流程图

进销存管理系统基础信息管理模块功能结构图如图1所示。

图1 进销存管理系统基础信息管理模块功能结构图

6 系统优点与缺点

■6.1 优点

(1)使用MVC的开发模式,它实现了前后端分离的开发,进一步提高了程序的可读性、可维护性、可移植性以及代码的复用性,同时降低了代码耦合性,便于各模块分工合作。

(2)使用三层架构的开发方式及前后端分离的模式,数据库的连接和调用在Dao层,前后端的接口和请求响应在Action层,POJO等实体类在Entity层,提高了前后端的分离度和代码编写的清晰程度。

■6.2 缺点

(1)未使用开源集成框架如SSH,相比于直接使用Servlet的稳定性和易用性都要高很多,以及对数据库的操作会更加简化,降低代码难度,在系统中起到小型容器的作用,可使系统动态化程度更高,运行更流畅。

(2)使用MVC开发模式会造成视图对模型数据的访问效率变低,易造成对数据的非必要访问次数增加,降低系统操作效能。

图2 进销存管理系统运行截图

(3)对于超大量数据的存储和管理,本系统中SQL语句的使用还需改进,优化数据库架构。

(4)在连接数据库进行操作时,事务处理的操作较少,易造成数据操作失误。

(5)数据库的安全功能和备份系统还存在不足。

(6)管理员权限设置单一,未开启权限设置功能。

7 系统截图

进销存管理系统运行截图如图2所示。

8 结束语

本系统是基于JSP+Servlet设计的小微企业商品进销存管理系统,相比于手动记录进销存的传统老旧方式,使用本系统可显着提高企业的运营和管理效率,有利于解决企业账目往来混乱,库存数量不准,信息反馈不及时等问题。本系统可提供商品采购、销售、退货、库存、销售清单、往来单位、银行账户、资金往来等方面的管理,帮助企业处理日常的进销存业务,并提供丰富的查询和统计功能,以此提高工作效率,帮助企业充分掌握公司运行状况以做出准确的业务决策。