基于SharePoint平台开发订餐系统

2018-05-27 08:33谢末
中国管理信息化 2018年7期
关键词:表单订餐数据源

谢末

[摘 要] 为了满足企业信息化发展需求,往往要建设多个功能大致相同的中小型信息系统。利用开发哈石化员工餐厅订餐系统的机会,尝试了多种软件相结合的开发方式,为利用企业SharePoint信息平台开发进行了探索。

[关键词] SharePoint 2010;ASP.NET;InfoPath;企业;订餐系统

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 07. 067

[中图分类号] TP311 [文献标识码] A [文章编号] 1673 - 0194(2018)07- 0162- 02

0 引 言

目前员工订餐采用提交纸质单,人工统计和人工计费的方式,效率低且出错率高。运用微软公司SharePoint 2010平台结合ASP.NET技术,开发了一套订餐系统。

1 需求分析

经过对员工餐厅的业务现状调研,在整个业务流程中,除了菜单发布外,其他环节均采用纸质单、人工填写记录和人工计算的方式。订餐单汇总到员工餐厅后,工作人员需要对各订餐单位的餐品进行分类统计,并对每份订餐信息进行手动计算,投入大量精力,计费准确性也不能得到保证。员工餐厅提出需要建设一个网上订餐、提供统计与计费的系统。

2 平台环境的设计与搭建

系统运行环境基于微软公司的SharePoint 2010平台搭建。利用原有信息门户宿主机,新建三台虚拟服务器,其中提供前台Web服务,一台提供数据库服务。

3 系统功能的设计

经过需求分析,设计订餐系统具备如下功能。

3.1 员工订餐功能

用7个表单(form)来实现,其中午餐订餐与晚餐订餐提供在线订餐功能,由各单位订餐员工提交。午餐菜单、晚餐菜单、午餐主食、晚餐主食和订餐单位定义订餐信息,由员工餐厅工作人员定时发布维护。

3.2 自动审核功能

使用SharePoint平台自带的工作流技术,将提交8小时的订单自动进行审核。审核后的订单,不允许提交者修改。

3.3 统计与计费功能

Sharepoint本身对统计功能支持不理想,无法提供我们所需的分类汇总和按单计算的功能,我们需要到SQL Server数据库中找到对应的数据表,提取有用的信息,再进行计算和处理。这部分需要使用ASP.NET二次开发。

3.4 权限与角色管理功能

系统基于哈石化hpc域认证,所有域用户均有订餐的权限。可以用同一个账号为多人訂餐。订餐人只允许修改自己提交的订餐信息,可以查看所有订餐信息、选择订餐菜单、主食和订餐地点。员工餐厅管理员可以查看和修改所有人提交的订餐信息、订餐菜单、主食和订餐地点。可以查看按天统计的订餐菜品数量以及单个订单的汇总计算结果。

4 主要功能实现

4.1 使用InfoPath定制订餐表单

SharePoint自带开箱即用的控件,仅仅提供有限的自定义设置功能,很难满足实际业务中的需求。为了更好地满足员工餐厅应用,我们需要使用InfoPath 2010 designer来自定义表单,同时实现表单联动。在这里以创建午餐菜单为例。

4.1.1 图形化设计表单

在InfoPath中利用文本框、下拉列表框、时间选择器等控件自定义订餐页面。在添加控件时,要将对应的域命名为有意义的名称,防止以后的使用中引起不必要的混乱。

4.1.2 创建数据源

在表单中,我们需要使用日期控件来选择订餐日期,然后根据所选的日期,从午餐菜单列表和主食列表中筛选出当天的菜单和主食单。

在浏览器中选择库设置,选择使用InfoPath自定义表单,在InfoPath的ribbon菜单中选择数据,数据连接,然后添加一个从SharePoint列表接受数据的数据源。在url中输入午餐菜单的地址。

4.1.2.1 导入指定的列表和列

选择要导入的列表和列(这里选择标题,日期和价格),选择按ID升序排列。

4.1.2.2 通过订餐日期来筛选午餐菜单

在InfoPath界面,菜品1对应的下拉框中右键选择下拉列表属性,将列表框选项改为从外部数据源获取选项,数据源选择上一步中创建的数据源。在“项”选择xpath按钮,在筛选数据中添加一个筛选器。目的是通过日期等于订餐日期来实现筛选功能。在最右边的下拉菜单中选择域和组,找到主域,然后选择datafileds中的订餐日期。

4.1.2.3 通过设置规则来更新数据

在下拉列表框的右键,选择Manage Rules,在新建下拉列表框中,选择Action,在数据连接中选择已中创建的数据连接。

通过下拉菜单选择主食和送餐地点的过程大同小异,不再此赘述细节。

4.2 使用ASP.NET开发统计页面

由于SharePointp平台对统计功能支持较弱,所以需要利用ASP.NET结合SharePoint的SQL Server数据库进行二次开发。主要目的是实现选择日期后,按照所选日期订购的菜品统计订餐份数以及按照菜品价格对每个订单进行计算。涉及asp控件dropdownlist、datagridview和ado.net操作数据库部分。

4.2.1 菜品汇总功能

菜品汇总功能,具体来说是要对订餐表单页面订餐结果中按菜品进行统计,计算出当天各个菜品需要做出的份数,提供给厨房。实现的前提是要通过列表ID找到订餐表单的数据,然后通过一系列参数对数据进行筛选、分组和合并。

4.2.2 订单计价功能

员工提交订单后,后台对选择的菜品(或主食)查找对应的价格,并乘以预定的份数。实现的方法是通过订单中的菜品ID,查询出菜价和份数,在ASP.NET页面中进行计算。

4.3 实现定时自动审批

在提交订餐信息后8个小时内,员工可以对提交的信息进行修改,过了规定的时间后,将对订餐信息进行自动审批并锁定,不允许修改。利用表单库的声明记录功能与工作流(workflow)技术结合,可以实现这个业务需求。

4.3.1 表单库实现声明功能

实现激活表单库的声明功能,首先在服务器场管理中心激活:Site Actions->Site Settings->Site Collection Features, 找到现场记录管理功能。 然后在列表和文档库,选中项目后,在文档/项目ribbon菜单界面出现声明记录的选项。如果想手动增加列表或文档库的声明状态,需要对列表和文档库设置做以下修改:Settings 页面,record declaration settings, 选中Always allow the manual declaration of records。

4.3.2 用顺序工作流实现定时审批

SharePoint工作流是一個通过一系列操作自动化相关的业务流程对象。这个SharePoint的对象是一个文件或像一个公告或一个任务列表中的项目。具体到订餐系统,就是将员工提交的表单在规定的时间后,声明为记录。

5 结 论

目前这套订餐系统已经上线,处于内部测试阶段。在开发过程中,综合应用了多方面技术,包括使用SharePoint提供表单基础服务和权限控制、使用InfoPath 实现表单设计和联动、使用ASP.NET进行统计功能的开发以及使用工作流技术实现自动审批。其中InfoPath和工作流都是首次在哈石化应用。虽然有些方面应用不够深入,对系统架构考虑未必成熟,但总体来说开辟了新的思路,为新的研究方向提供了目标,即在现有平台的基础上做二次开发。在以后的工作中,要深入研究SharePoint平台与工作流技术,利用好已有的信息平台,提供开发周期短,见效快,运行稳定的信息系统。

主要参考文献

[1]王浩.SharePoint 2010开发最佳实践[M].北京:电子工业出版社,2012.

[2]梅卫军.一步一步学习SharePoint 2010[EB/OL].博客园,2011-07-21.

[3][美]Tom Rizzo,Reza Alirezaei,Paul J Swider.SharePoint 2010开发高级教程 [M].唐富年,译.北京:清华大学出版社,2012.

猜你喜欢
表单订餐数据源
电子表单系统应用分析
浅谈网页制作中表单的教学
Web 大数据系统数据源选择*
动车订餐
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
分布式异构数据源标准化查询设计与实现
动态表单技术在教学管理中的应用*
基于Java可视化测绘生产流程表单的设计及实现