今天我的部门里的行政管理员跑来向我汇报我们在某驻地有个电器坏了,需了修一下。按照常理,我说就修吧,可是我发现我已经批准了很多的这样的修理费用,我说这个东西是什么时候买的还在保修期嘛,一会他过来向我汇报这个是4个月前买的应该在保修期。一会,我又问,这个东西以前修过嘛,他又说不知道;一会又跑来说,以前好像没有修过。我说,那这个驻点还有其它的维修费嘛,他搬来一堆维修单一张一张地翻。我又想到,驻点经常抱怨报修的东西经常及时得不到更换或是维修,或是报修的电话最后白打了,行政人员根本没有处理,或是忘了。
我想为什么不自己搞一个可以提交、查询的报修系统呢?那么这个系统应该有如下的功能:
- 用户可以提交一个报修单,提交时最好可以有采购时间、保修期等信息,这样我就不用问来问去了。
- 我可以根据信息批准或不批准这个报修,并把它安排给行政室的某个行政管理员来处理。
- 行政管理员可以把进行的信息填到单子上,比如这个单子因数额巨大正在向向更大的公司领导请示,或是这个报修已经批准,驻点可以自行请人修理,或是修理的发票正在报销当中,或是正在按排人过来修理,或是这个单子处理结束关闭了。
- 所有过程会产生状态的变化,这些过程应该保存在报修的文件中,并且所有的变化应该要以电子邮件的方式通知相关的报修人或是关系人,这样所有的信息都有据可查,并且不会产生扯皮的情况。
当然首选的搞定方式就是INFOPATH,这实际上是一些简单的工作流,下面谈谈几个关键的技术手段,由于是我设计的,当然要非常地简单,不能太复杂,在表单里加一点VSTA的代码是可以接受的,但是加太多的代码,就不是一个管理者可以有时间去解决的事情了,所以我决定把所有的功能设计在一张表单中!
- 至少确定在这个流程中,关键变量可以就是“报修状态”
- 根据上面的功能要求,至少要包括 填报修单、审批单、处理报修、打印报修单这些视图View,可以使用INFOPATH的“规则”:根据“报修状态”来确定,比如状态为“未审核”时,视图切换到“填报修单”;当状态为“已审核”时,视图切换到“处理报修”视图。
- 工作流采用SharePoint Designer的工作流,这样可以不使用代码,在工作流中根据不同的状态来确定是否发电邮,并在“任务”列表中对使用者进行提醒。
那么我们就先来设计这个表单吧!