超市信息管理系统的设计与实现
2021-10-23梅瑞泽王静
梅瑞泽,王静
(安徽新华学院 电子通信学院,安徽合肥,230000)
0 引言
本系统能够实时监测企业的运行状态,利用企业以前的相应数据来帮助它决策未来的航行方向,帮助其实现规划的一个个目标。同时,超市经营中引入现代化的适合其经营的办公软件,处理实时信息,可以有效的减少劳动力成本,规范超市在运营中的管理,避免出现超市经营紊乱等问题的发生。
1 系统需求分析
图1 为账单管理系统总模块,包含登录系统,超市账单管理,用户管理,供应商管理,密码修改与退出系模块。
图1 超市信息管理系统总模块
具体需要实现的功能有:
(1)在账单管理模块,主要是对账单信息的更改、添加、去除、查询。在查询时可分页浏览,可输入正确的页码浏览。
(2)在供应商管理模块中,主要是对供应商的更改、添加、去除、查询。
(3)在用户管理模块中,主要是对用户的更改、添加、去除、查询。
2 数据库设计
本系统里的操作数据都是存储于数据库中的,所以数据库在本系统中具有核心地位。系统里可以通过SQLyog 连接数据库,查数据。
西门子MindSphere的三个新应用程序包,包括Connect & Monitor(连接和监控), Analyze & Predict(分析和预测)和Digitalize & Transform(数字化与转型),三者都包含全面的咨询服务。这些新应用包将帮助用户更快、更简单地实现物联网项目,例如加快对资产的连接、分析和优化,利用预测分析来预防非计划停机。同时还将简化服务和商业模式。
图2 为用户E-R 图。用户E-R 图图中显示了用户对象所具有属性:主键id,用户名,地址,手机,性别,更新者,更新时间,用户类型(1:普通员工 2:管理)等。
图2 用户E-R 图
图3 为账单E-R 图。图中显示了账单对象所具有属性:主键id,账单编码,商品名称,商品描述,供应商id,更新者,更新时间,是否付款(0:未付款 1:已付款)等。其中账单表的供应商id 与供应商表的id 存在主外关系。
图3 账单E-R 图
图4 为供应商E-R 图。图中显示了供应商对象所具有属性:主键id,供应商名称,供应商描述,更新者,更新时间,传真,地址,电话等。其中账单表的供应商id 与供应商表的id存在主外键关系
图4 供应商E-R 图
3 系统详细设计
(1)登录模块
登录界面如图5 所示。利用MainServlet 的login 方法验证用户登录,通过用户名密码从数据库中验证用户名和密码的正确性返回一个User 对象,根据User 对象的usertype属性判断用户的级别,并通过Response 响应流回写Cookie到客户端保存。下次访问时会通过AutoLogin(Filter)自动登录。刷新浏览器后,则会退出到登界面。
图5 登录界面
(2)账单管理模块
通过点击页面上的超链接访问MainServlet 的billList 方法,billList 方法通过与dao 层的交互得到帐单信息,在通过Request 的getRequestDispatcher()方法得到转发对象,在调用转发对象的forward()方法,把请求转发到/WEB-INF/Index/BillList.jsp 页面,在页面上通过EL 表达式和jstl 显示信息。
增加帐单通过页面的a 链接跳转到MainServlet 的ToAddbill()方法,从数据库中读取一些外键关联的信息,然后转发请求到billAdd.Jsp 页面,信息添加之后会通过form 表单把数据提交给MainServlet 的Addbill()方法,Addbill 中会通过JDBC 把数据更新到数据库中保存。
账单的查询通过页面的表单以get 方式提交到SearchBill.do,在MainServlet 中通过SearchBill()方法判断传过来的值得完整性,dao 层中通过根据完整性的不同拼接Sql 语句,定义一个List 集合,在拼接sql 语句时add相应的参数。执行之前通过for 循环依次插入对应的值,得到结果返回给MianServlet,之后通过Request 的转发技术转发给页面显示。
账单的修改通过页面的超链接拼接url 的方式把当前的账单对应的id 传给MainServlet 的ToModifyBill(),在ToModifyBill 方法中会根据当前的id 从数据库中查出相应的字段值,转发给billUpdate.jsp 页面显示,让用户选择需要更改的信息。提交时通过form 表单提交给MainServlet 的ModifyBill(),ModifyBill 通过与dao 的交互实现数据的更新。
账单删除是通过Ajax 的post 请求发送异步请求数据到MainServlet 的CheckPower()方法,CheckPower 中会从Session 中取出当前用户的Usertype 进行判断。若非管理员的话返回false,页面会弹出提示,无权限使用操作,否则会通过comfirm 弹出确认信息。
(3)供应商管理模块
通过点击页面上的超链接访问MainServlet的providerList 方 法,providerList 方 法 通 过与dao 层的交互得到帐单信息,在通过Request 的getRequestDispatcher()方法得到转发对象,在调用转发对象的forward()方法,把请求转发到/WEB-INF/Index/ProviderList.jsp 页面。在页面上通过EL 表达式和jstl 显示信息。
增加供应商通过页面的a 链接跳转到MainServlet 的ToAddprovider ()方法,从数据库中读取一些外键关联的信息,然后转发请求到ProviderAdd.Jsp 页面,信息添加之后会通过form 表达把数据提交给MainServlet 的Addprovider()方法,Addprovider 中会通过JDBC 把数据更新到数据库中保存。
供应商的查询通过页面的表单以get 方式提交到Searchprovider.do,在MainServlet 中通过SearchPro ()方法判断传过来的值得完整性,dao 层中通过根据完整性的不同拼接Sql 语句。定义一个List 集合,在拼接sql 语句时add 相应的参数,执行之前通过for 循环依次插入对应的值,得到结果返回给MainServlet,通过Request 的转发技术转发给页面显示。
供应商的修改通过页面的超链接拼接url 的方式把当前的账单对应的id 传给MainServlet 的ToModifyPro (),在ToModifyPro 方法中会根据当前的id 从数据库中查出相应的字段值,转发给providerUpdate.jsp 页面显示,让用户选择需要更改的信息,提交时通过form 表单提交给MainServlet 的ModifyPro (),ModifyPro 通过与dao 的交互实现数据的更新。
供应商删除是会通过Ajax 的post 请求发送异步请求数据到MainServlet 的CheckPower()方法,CheckPower 中会从Session 中取出当前用户的usertype 进行判断,若非管理员的话返回false,页面会弹出提示,无权限使用操作,否则会通过comfirm 弹出确认信息。
(4)用户管理模块
通过点击页面上的超链接访问MainServlet 的userList 方法,userList 方法通过与dao 层的交互得到帐单信息,在通过Request 的getRequestDispatcher()方法得到转发对象,在调用转发对象的forward()方法,把请求转发到/WEB-INF/Index/UserList.jsp 页面,在页面上通过EL 表达式和jstl 显示信息。
增加用户通过页面的a 链接跳转到MainServlet 的TouserAdd()方法,从数据库中读取一些外键关联的信息,然后转发请求到userAdd.Jsp 页面,信息添加之后会通过form 表单把数据提交给MainServlet 的AddUser ()方法,,AddUser 中会通过JDBC 把数据跟新到数据库中保存。
用户的修改通过页面的超链接拼接url 的方式把当前的账单对应的id 传给MainServlet 的ToModifyUser (),在ToModifyUser 方法中会根据当前的id 从数据库中查出相应的字段值,转发给userUpdate.jsp 页面显示,让用户选择需要更改的信息。提交时通过form 表单提交给MainServlet 的ModifyUser (),ModifyUser 通过与dao 的交互实现数据的更新。
用户删除是会通过Ajax 的post 请求发送异步请求数据到MainServlet 的CheckPower()方法,CheckPower 中会从Session 中取出当前用户的Usertype 进行判断。若非管理员的话返回false,页面会弹出提示,无权限使用操作,否则会通过comfirm 弹出确认信息。
4 结束语
该系统主要使用MySql 数据库来存储信息,用sqlyog来实现数据库里信息的处理,在eclipse 开发软件平台主要利用java 语言通过数据库中的数据信息与用户业务需求来编写代码。超市管理中,引入本系统,会提高工作人员的对事务的处理效率,让经营者省钱省力省心。