1. 系统背景
为响应十部委《关于印发<公共资源交易评标专家专业分类标准>的通知》(发改法规[2018] 316号) (以下简称专业分类通知),天津市公共资源交易中心建设了全新的评标专家管理系统(以下简称专家库),完成对原有公路、水运行业的626名在库专家进行信息更新。由于专家人数众多,抽取规则应尽量保证公平、公正,项目抽取专家信息需保密,而目前采用的线下人工通知的方式,需要投入不少人力参与抽取工作,存在效率低下、通知方式落后等问题,同时,由于专家信息提前获知,也存在专家信息泄漏的隐患,因此需要在专家库中增加自动抽取与通知的模块,替代人工通知方式,提高工作效率,提升工作质量 [1]。
经调研,市场上主要采用电话呼叫语音通知、APP通知等方式来实现自动抽取通知需求,但由于电话呼叫语音通知需要采购相应的呼叫服务器设备,APP通知需要开发相应的IOS、Android客户端软件,在目前仅有短信平台和Web系统应用的情况下,为快速上线自动抽取通知应用,设计并开发了一套短信智能通知辅助自动抽取程序,实现对人工通知方式的替代工作 [2] [3]。
2. 需求分析
使用专家抽取功能的相关用户角色为项目管理人员(招标人或招标代理)、评标专家、监督人(行业监管部门)。专家的基本资料已在专家库系统中进行管理,且专家专业按照公路、水运等行业并根据专业分类通知分别划分为三级(如公路行业的某个三级专业“桥梁工程”,对应一级专业“工程施工”、二级专业“公路工程”),每个专家可拥有多个评标专业。
为实现专家抽取自动化,首先,需要设计一套自动抽取响应程序,完成专家的自动抽取动作,同时,为保证公平,抽取程序应是随机的;其次,需要自动通知抽取出来的专家,并向其获取是否可参与评标的信息,若专家反馈无法参加评标,则系统程序自动完成补抽,若专家反馈能够参加评标,则系统程序进行记录,并自动发送评标具体信息;另外,考虑到专家可能因各种临时事项无法参与评标,如需请假或生病无法参加等,则需提供请假功能,若专家与项目相关方存在利益关系需回避的,也需提供回避功能。考虑到在自动通知过程中,专家可能未按规定反馈信息,为保障专家抽取工作正常开展,则系统需为监督人提供手动更新专家是否参与评标状态的功能。
除正常抽取外,系统还需支持应急抽取,应急抽取的专家为能够30分钟内赶往评标现场的专家,因此在缩小抽取范围的同时,还需在抽取程序的时间控制上,将抽取时间间隔缩短,抽取频率加大,以确保应急抽取顺利完成。
3. 设计与实现
3.1. 系统设计
3.1.1. 流程设计
基于以上功能使用需求分析,设计如下图1所示的自动抽取功能流程图。
Figure 1. Flowchart of expert extraction notification function
图1. 专家抽取通知功能流程图
图1所示内容为专家正常抽取通知功能流程图,其中,N为项目管理人员在创建专家抽取申请时,填报的专家所需人数;xx代表变量值,HH:mm:ss为时间变量值,系统均根据实际值做调整。考虑到短信通知方式实时性不稳定的问题,抽取通知策略采用通知超过实际所需专家数的专家手机号,以“先到先得”的方式获取评标资格,先回复确认参加的专家将优先成为评标专家,后确认的专家,在专家人数已满后,将不予接受。专家抽取最多为6轮,若提前抽满,则不再继续抽取。
另外,由于专家数量有限,部分专业的专家可能较少,为保证抽取人数充足,因此在抽取策略上,加上了当所选专业的专家人数不足时,采用扩大抽取专业级别的方式,抽取当前专业的上一级专业的专家(默认按照三级专业进行抽取)。
应急抽取流程与正常抽取类似,仅增加内容包括(1) 抽取的专家必须在注册时,勾选可作为应急专家库专家被抽取;(2) 抽取系数做相应调整,包括第一轮抽取专家总人数由1.5 N调整为2 N,每轮抽取时间间隔为5分钟,最长总抽取时长为30分钟;(3) 抽取通知短信模板中增加必须30分钟内抵达评标现场的通知内容。
3.1.2. 功能模块设计
根据需求分析,设计如下的功能模块结构图,如下图2所示:
Figure 2. System function module structure diagram
图2. 系统功能模块结构图
3.1.3. 数据库设计
在做好需求分析、流程设计及功能模块设计等概要设计内容后,需要重点展开详细设计部分的数据库设计工作。数据库设计需紧贴业务需求,遵循数据库范式理论,增加系统的一致性和完整性,紧紧把握集中控制、统一审核的基本原则,保证数据库设计结构紧凑、分布平衡、定位迅速。专家自动抽取模块涉及的主要数据库表结构设计模型如下图3所示。
3.2. 系统实现
通过对系统的需求分析与设计,确定了系统的功能与逻辑结构,以下则是对系统功能的具体实现过程描述。
3.2.1. 账号管理
监督人通过账号管理功能为项目管理人员创建系统登录账号,账号用户名及密码以短信方式发送到项目管理人员手机号。账号管理功能截图如下图4所示。
3.2.2. 项目信息
项目管理人员通过分配的账号在项目信息模块创建招标项目,录入项目相关信息。项目信息功能截图如下图5所示。
3.2.3. 抽取申请
项目管理人员通过分配的账号在抽取申请模块选择在项目信息模块添加的项目,录入抽取规则(专家人数及专业),选择需回避的单位,提交抽取申请。由于涉及到流程扭转,不同行业的抽取项目由系统不同的角色来完成抽取审核,因此引入工作流引擎flowable,支持不同角色审核不同行业的抽取申请。抽取申请功能截图如下图6所示。
Figure 3. Expert extraction module table structure model
图3. 专家抽取模块表结构模型
3.2.4. 抽取审核
监督人员分行业分别对公路、水运行业的项目抽取申请信息进行审核,审核通过后,将触发自动抽取通知程序;审核不通过,则返回项目管理人员重新修改提交。
3.2.5. 抽取通知
系统使用随机算法进行专家抽取,对抽取出来的专家发送评标确认短信,短信服务由阿里云短信平台提供。通过在阿里云短信平台自定义短信模板,可以在短信中插入评标项目详细信息。另外,短信分为上行与下行两种类型,下行用于专家通知,上行用于收集专家的反馈信息,并根据反馈信息更新专家是否参与评标项目的状态。
抽取的轮次由调度任务器来控制,最多调度6次后,调度任务器任务调度将停止,若专家提前完成抽取确认,则调度任务器的任务提前停止调度。
抽取的专家信息通过AES算法加密保存在数据库中,抽取申请页面无法查看抽取的专家信息,抽取审核页面只有在签到时候结束后,才能解密查看已抽取的专家信息。
3.2.6. 专家屏蔽
为加强专家评标监管,根据不同的情形设定不同的屏蔽时限,并支持自定义调节:(1) 短信拒绝1次,屏蔽3天;(2) 短信连续拒绝5次,屏蔽180天;(3) 短信确认后未按承诺出席,屏蔽180天。具体屏蔽天数,支持在字典值进行配置,系统根据配置值进行相应屏蔽处理。屏蔽后的专家,将在相应时限内,无法被抽取为评标专家。
3.2.7. 短信记录
由于短信服务由第三方平台(阿里云)提供,因此,为监控短信的上下行情况,开发了短信记录功能,记录每一笔短信发送与接收的详细情况,有助于对功能稳定性做分析。短信记录截图如下图7所示。
4. 总结
通过短信智能通知辅助自动抽取需求的分析、设计与实现,专家抽取实现自动化,专家信息保密得到有效保障,抽取规则灵活可配置,同时,加入专家屏蔽,实现评标监管职能,减轻了监督人员工作量,提高了工作效率,也有利于提升监管工作质量。
在无法快速开发APP客户端,以及语音呼叫需要采购语音服务器等客观条件制约下,系统采用了短信通知方式来解决抽取通知难题,对类似需求实现有较强的参考价值。