前言:帆软报表凭借其强大的信息录入和展示功能,大大降低了系统开发中对于数据展示及计算的工作量。后端程序则优于复杂业务逻辑的处理。随着应用场景的不断丰富,业务系统的不断迭代下,将二者结合处理问题的需求逐渐增多。本次即针对帆软报表与后端程序深度融合提出解决方案:
- 场景分析:使用后端程序控制帆软报表提交及重置。
提交方案一:通过帆软定时调度“执行一次“按钮对应的接口提交
最开始咨询帆软技术支持,帆软官方说明没有对外自动提交接口,通过debug定时调度执行一次接口,抽取出帆软定时执行一次接口,将该接口集成到程序中,曲线救国,实现自动提交功能。
- 获取帆软登录token:
- 调用帆软调度”执行一次“接口
- 轮询查看数据是否提交成功。
具体业务具体写,例如通过时间字段查询是否保存上数据。
该方案虽然完成了自动跑数,但是是通过帆软定时调度接口实现,不能立刻获取报表提交状态,使提交校验耗时较长,且提交状态查询不稳定。
提交方案二:不预览直接后台提交入库
此接口为帆软官方接口,用于直接将报表默认查询出的数据填报入库。这个接口正好完美解决了后端提交入库的问题。接下来,码代码:
1. 整理需要提交的帆软链接,将日期等参数改为可配置化:
2. 开发提交报表方法,使用提交入库
- 注意事项:
如果在使用事务锁的方法中调用帆软报表提交,有可能会因为同时操作一张表导致事务锁挂起,使帆软提交呈现假死状态。对于这种情况,需要关闭提交帆软报表方法的事务锁。需从其他角度考虑数据一致性解决方案。
数据重置方案一:
后端代码在对应逻辑中,直接删除报表提交的数据
数据重置方案二:
在帆软报表开发按钮,按钮中调用程序接口删除数据
js:
以上即帆软报表与后端程序深度融合方案,有更好的方法我们可以随时讨论~