大数跨境

「重度用户分享」来看看如何用低代码快速实现备用金及其流水明细吧!

「重度用户分享」来看看如何用低代码快速实现备用金及其流水明细吧! 白码
2021-08-06
0

点击蓝字


关注我们

上次重度用户分享的文章发布后,我们收到了很多其他用户编写的使用心得分享。我们精选了其中的一篇,一起来看看他们是怎么运用白码平台来便捷开发的吧!


实现备用金及其流水明细效果

Function Description

来自  白码用户 @hxxxa 的分享

在有些行业中,会有客户有“预付款”、“预收款”的情况,这里暂且统称为“备用金”。客户有订单产生后,对应的“应付金额”或者“应收金额”会优先在备用金里面自动抵扣,直到备用金的金额变为0为止后不再扣除。


前期准备

以供应商的“预付款”为例。数据表结构简单表示,可以根据实际需要自行调整。

创建一张订单表、供应商表、备用金流水记录表。

订单表

供应商表

备用金流水记录表


实现步骤

1.创建一个“新增供应商”功能,用于录入供应商信息。

单个功能效果:


2.创建一个“添加备用金”的功能,用于添加备用金金额。

本次添加金额步骤直接用备用金流水记录表来体现:

其属性选项卡设置:

添加后的金额步骤:

单个功能效果:


3.创建一个“新增订单”功能,用于订单信息录入。


订单信息步骤属性选项卡设置:


4.创建一个订单审核功能,审核通过的订单,进行备用金处理。

订单审核状态判断步骤:

审核意见步骤:

订单信息步骤:

备用金处理编程步骤:

示例代码:


向上滑动阅览


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

    let order = $params.order;//获取订单信息

    let user = await $plugin.data.getUser();//获取当前用户

    let date = await $plugin.moment().format("YYYY-MM-DD HH-mm-ss");//获取当前时间

    //获取供应商信息

    let supplier = await $plugin.data.getData("60b08c47b6c7d5637c90ac77", order["60b0893d0cbcf66375d0e0d0"]);

    let imprest = supplier["60b0893d0cbcf66375d0e0d0"];//供应商的备用金

    let amount_payable = order["60b08cce4ba5ab636e2f5c10"];//应付金额

    if (new Number(imprest) > 0) {//如果备用金大于0

        if (new Number(imprest) - new Number(amount) > 0) {//备用金-订单应付金额>0,说明备用金足够扣除本次应付金额

            //更新订单信息

            await $plugin.data.updateData("60b08c47b6c7d5637c90ac77", order._id, {

                "60b08cfacec155636dbe6b4a": new Number(amount_payable),//更新订单的已付金额

                "60b08e930cbcf66375d0f721""备用金付全款",//更新订单的付款说明

            });

            //更新供应商的备用金

            await $plugin.data.updateData("60b08c47b6c7d5637c90ac77", supplier._id, {

                "60b0893d0cbcf66375d0e0d0"new Number(imprest) - new Number(amount_payable),//备用金=原本备用金-订单应付金额

            })

            //添加备用金流水记录

            await $plugin.data.saveData("60b08b0c0cbcf66375d0e0f2", {

                "60b08b47cec155636dbe6b3f": supplier._id,//供应商

                "60b08b124ba5ab636e2f5be9": date,//时间

                "60b08b544ba5ab636e2f5beb"new Number(imprest),//操作前的金额

                "60b08b600cbcf66375d0e0f3": - new Number(amount_payable),//操作金额

                "60b08b6d0cbcf66375d0e0f4"new Number(imprest) - new Number(amount_payable),//操作后的金额=原本备用金-订单应付金额

                "60b08b7b0cbcf66375d0e0f6": user._id,//操作人是当前用户

            })

        } else {

            //更新订单信息

            await $plugin.data.updateData("60b08c47b6c7d5637c90ac77", order._id, {

                "60b08cfacec155636dbe6b4a"new Numberimprest(imprest),//更新订单的已付金额=剩余备用金

                "60b08e930cbcf66375d0f721""备用金抵扣部分",//更新订单的付款说明

            });

            //更新供应商的备用金

            await $plugin.data.updateData("60b08c47b6c7d5637c90ac77", supplier._id, {

                "60b0893d0cbcf66375d0e0d0": 0//备用金抵扣后为0

            })

            //添加备用金流水记录

            await $plugin.data.saveData("60b08b0c0cbcf66375d0e0f2", {

                "60b08b47cec155636dbe6b3f": supplier._id,//供应商

                "60b08b124ba5ab636e2f5be9": date,//时间

                "60b08b544ba5ab636e2f5beb"new Number(imprest),//操作前的金额

                "60b08b600cbcf66375d0e0f3": - new Number(imprest),//操作金额

                "60b08b6d0cbcf66375d0e0f4": 0,//操作后的金额=0

                "60b08b7b0cbcf66375d0e0f6": user._id,//操作人是当前用户

            })

        }

    }

}



实现效果

添加备用金

备用金扣除



再次感谢白码用户@hxxxa  的精彩分享~

也欢迎各位白码用户可以根据文章内容,自己实操感受一下,有发现更好的解决方法也可以发出来和我们分享,与白码其他用户一起交流~


往期 · 推荐

快速实现自动化绩效考核评分

将白码上的数据存储到MySQL数据库

通过SQL数据库对接功能改进原系统

MySQL数据对接实践

简单实现工单流转功能


白码科技 · BAIMA

扫描二维码添加客服微信

有任何问题都可以询问客服哦~

点击“阅读原文”了解更多白码资讯!

【声明】内容源于网络
0
0
白码
白码无代码 | 低代码开发平台可以帮助开发者和企业技术开发团队增加软件开发速度,降低开发成本,达到降本增效的目的。用户可以通过白码,按照企业所需自行定制ERP,CRM,OA等软件;成为白码开发者,把想法快速变成软件吧。
内容 125
粉丝 0
白码 白码无代码 | 低代码开发平台可以帮助开发者和企业技术开发团队增加软件开发速度,降低开发成本,达到降本增效的目的。用户可以通过白码,按照企业所需自行定制ERP,CRM,OA等软件;成为白码开发者,把想法快速变成软件吧。
总阅读105
粉丝0
内容125