填报数据存储
在设计填报表单时,可以灵活地设置单元格填写数据的保存方式。可以将数据提交给一些中间处理层,由中间层去解决数据入库的问题,但最常用的就是设置数据表字段与单元格的对应关系,将单元格中填写的数据直接提交保存至数据库。
用户在设计填报表单时,同时可以设置填报表的自动计算与数据校验功能。
对于下发的填报表,某些单元格的值可以由其他单元格的值计算得出并自动填写,这样既提高了数据录入的效率,又降低了人工计算与填写时的错误率,有效保证了填写数据的正确性。自动计算包括求和、求平均值等各种四则运算。如销售金额=单价*数量。
数据校验功能可以对用户填报的数据进行合法性检查,保证填报数据的正确性与有效性。此功能支持数据校验类型(如数字单元格填入非数字字符)、单元格之间数据关系校验(如单元格A1数据必须大于单元格B1数据)、自定义校验表达式(可编写数据校验的表达式)等。若用户输入不符合要求的数据,则可以进行相应信息提示,大大提高了采集数据的质量。
报表参数
在填报表单设计时,可以通过定义不同的参数来控制填报表单下发和数据上报等操作,如下图:
自动传递给报表的全部参数(根据需要选择使用):
subTask_IDs:记录所有子任务ID,用于将子任务数据汇总到汇总任务上;
Task_ID:任务ID,必须使用且应该是主键至少是主键之一;
Org_ID:当前用户的机构;
User_ID:当前页面查看用户;
lowerOrg_ID:当前用户的下级机构;
Mode:模式名,一张报表需要以不同状态被使用时用于控制报表的可读可写状态;
Task_Status:任务状态,显示工作流流程是否已经跑完;
Task_StartTime:工作流任务发起时间;
Node_ID:当前节点ID;
其中,Task_ID字段和subTask_IDs字段对于流程填报的填报表单是必须的,Task_ID字段用来控制任务下发流程,subTask_IDs字段用来控制数据上报流程。
每进行一次下发或分发任务操作时,系统就会对该任务自动生成一个Task_ID字段,被下发的下级机构或用户基于该字段来进行填报表单的分发或填写操作。
subTask_IDs字段是用来控制数据汇总流程,当某一级机构或者用户需要汇总下级上报的报表时,subTask_IDs字段中会自动汇总需要汇总的任务的Task_ID,从而使该级机构或用户基于subTask_IDs字段进行汇总操作。
数据集
对于下发任务和上报汇总任务,报表数据集的语法是不一样的。
当某机构或人员建立了一个下发或分发任务时,被下发或分发填报表单中检索条件应该是:
下级机构或用户基于该Task_ID字段来进行填报任务的分发或填报操作。
当数据上报和汇总时,数据集检索条件的书写应该是:
而且设定参数为subTask_IDs字段,从而可以汇总subTask_IDs字段里面的所有任务。
在数据报送过程中,需要控制不同节点的填报权限。例如,县级填报员可以录入明细业务数据并上报给市级机构,但市级审核员则只能在审核意见一栏中填写信息。
在流程填报模块中,可以在填报表单中设置一个“mode”参数,用来在数据报送流程中获取当前节点的模式名,从而控制不同节点的填写权限。
填报表的单元格中可设置一句模式名进行判断的可写表达式,从而达到不同节点填报权限的控制。