如何快速实现记账功能
Up
• 发表于:2021-09-01 15:05:57 • 更新于:2021-11-14 19:06:17
621

场景描述:

记账功能可以用来记录公司、个人日常流水信息,每一次的流水结存都会参与下一次记账的计算。

前期准备:

数据表结构简单表示,可以根据实际需要自行调整。

创建一张“收支记账表”,用于记录每一次的记账信息。其中的“上一笔结存”、下一笔结存都关联本表。

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479750417_%E5%9B%BE%E7%89%871.png

实现步骤:

1. 新建一个“新增记账信息”功能,用于每一笔记账信息录入,并且使每一笔记账跟上一笔记账信息相互对应上。

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479767510_%E5%9B%BE%E7%89%872.png

获取上一笔记账步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479776022_%E5%9B%BE%E7%89%873.png

记账信息步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479787083_%E5%9B%BE%E7%89%874.png

更新上一笔记账步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479793392_%E5%9B%BE%E7%89%875.png

2. 新建一个“修改记账信息”功能,用于修改以往的记账记录,且同步更新后续的记账信息。

获取上一笔结存步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479799854_%E5%9B%BE%E7%89%876.png

记账信息步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479810357_%E5%9B%BE%E7%89%877.png

重新获取记账信息:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479816653_%E5%9B%BE%E7%89%878.png

后续结余处理步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479823281_%E5%9B%BE%E7%89%879.png

步骤示例代码:

async function runProcess($model = model, $plugin = plugin, $params = params) {

    let info = $params.info;//获取记账信息

    let next_info = info["610cd8d3f6bd5ac63302e835"];//获取记账信息的下一笔记账数据id

    //$model.log(next_info)

    if (next_info) {//如果下一笔记账数据id存在

         await $plugin.program.exec("610d08fc5ea7424eb3b929a4", {//调用本功能,功能id

            "610d092b4723d84eb49c04e8": {//本功能选择步骤id

                _id: next_info  //本次结余数据的下一笔结余数据id,递归调用本修改功能,把后面数据进行修改

            }

        })

    }

}

 

3. 新建一个“删除记账信息”功能,用于删除记账信息,以及更新后续记账信息。

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479862816_%E5%9B%BE%E7%89%8710.png 

获取上一笔记账步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479869857_%E5%9B%BE%E7%89%8711.png

获取下一笔记账步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479876817_%E5%9B%BE%E7%89%8712.png

更新上一笔步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479883724_%E5%9B%BE%E7%89%8713.png 

更新下一笔步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479889833_%E5%9B%BE%E7%89%8714.png

重新获取上一笔步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479896255_%E5%9B%BE%E7%89%8715.png

调用效果功能步骤:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479902156_%E5%9B%BE%E7%89%8716.png

步骤示例代码:

async function runProcess($model = model, $plugin = plugin, $params = params) {

    let info = $params.info;//获取记账信息

    let next_info = info["610cd8d3f6bd5ac63302e835"];//获取记账信息的下一笔记账数据id

    //$model.log(next_info)

    if (next_info) {//如果下一笔记账数据id存在

         await $plugin.program.exec("610d08fc5ea7424eb3b929a4", {//调用本功能,功能id

            "610d092b4723d84eb49c04e8": {//本功能选择步骤id

                _id: next_info  //本次结余数据的下一笔结余数据id,递归调用本修改功能,把后面数据进行修改

            }

        })

    }

}

功能效果:

新增记账信息:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479931886_%E6%96%B0%E5%A2%9E%E8%AE%B0%E8%B4%A6%E4%BF%A1%E6%81%AF.gif

修改记账信息:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479936733_%E4%BF%AE%E6%94%B9%E8%AE%B0%E8%B4%A6%E4%BF%A1%E6%81%AF.gif

删除记账信息:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210901/1630479943844_%E5%88%A0%E9%99%A4%E8%AE%B0%E8%B4%A6%E4%BF%A1%E6%81%AF.gif

本文是否对您有帮助?
有帮助
没帮助
您是否遇到了以下问题?
内容过期或不准确
缺少场景、事例
链接有误
太简单,步骤待完善
其他
提交反馈
如需获取即时帮助,请联系
小助理
微信扫码添加小助理
让你的想法快速变成软件吧~
联系我们
售前咨询电话
020-88520693
意见箱 · 建议反馈
您的宝贵建议,使白码更完美!
微信扫码添加白码小助理