热门搜索:软件下载

备用金的支出明细(如何实现备用金及其流水明细效果)

首页教程备用金的支出明细更新时间:2023-03-12 09:39:12
场景描述:

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

前期准备

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

在白码低代码开发平台上创建一张订单表、供应商表、备用金流水记录表。

备用金的支出明细,如何实现备用金及其流水明细效果(1)

备用金的支出明细,如何实现备用金及其流水明细效果(2)

备用金的支出明细,如何实现备用金及其流水明细效果(3)

功能实现:

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

备用金的支出明细,如何实现备用金及其流水明细效果(4)

单个功能效果:

备用金的支出明细,如何实现备用金及其流水明细效果(5)

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

备用金的支出明细,如何实现备用金及其流水明细效果(6)

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

备用金的支出明细,如何实现备用金及其流水明细效果(7)

其属性选项卡设置:

备用金的支出明细,如何实现备用金及其流水明细效果(8)

添加后的金额步骤:

备用金的支出明细,如何实现备用金及其流水明细效果(9)

单个功能效果:

备用金的支出明细,如何实现备用金及其流水明细效果(10)

3. 创建一个“新增订单”功能,用于订单信息录入,同时处理备用金。

备用金的支出明细,如何实现备用金及其流水明细效果(11)

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

备用金的支出明细,如何实现备用金及其流水明细效果(12)

备用金处理编程步骤:

备用金的支出明细,如何实现备用金及其流水明细效果(13)

示例代码:

asyncfunctionrunProcess($model=model,$plugin=plugin,$params=params){ letorder=$params.order;//获取订单信息 letuser=await$plugin.data.getUser();//获取当前用户 letdate=await$plugin.moment().format("YYYY-MM-DDHH-mm-ss");//获取当前时间 //获取供应商信息 letsupplier=await$plugin.data.getData("60b08c47b6c7d5637c90ac77",order["60b0893d0cbcf66375d0e0d0"]); letimprest=supplier["60b0893d0cbcf66375d0e0d0"];//供应商的备用金 letamount_payable=order["60b08cce4ba5ab636e2f5c10"];//应付金额 if(newNumber(imprest)>0){//如果备用金大于0 if(newNumber(imprest)-newNumber(amount)>0){//备用金-订单应付金额>0,说明备用金足够扣除本次应付金额 //更新订单信息 await$plugin.data.updateData("60b08c47b6c7d5637c90ac77",order._id,{ "60b08cfacec155636dbe6b4a":newNumber(amount_payable),//更新订单的已付金额 "60b08e930cbcf66375d0f721":"备用金付全款",//更新订单的付款说明 }); //更新供应商的备用金 await$plugin.data.updateData("60b08c47b6c7d5637c90ac77",supplier._id,{ "60b0893d0cbcf66375d0e0d0":newNumber(imprest)-newNumber(amount_payable),//备用金=原本备用金-订单应付金额 }) //添加备用金流水记录 await$plugin.data.saveData("60b08b0c0cbcf66375d0e0f2",{ "60b08b47cec155636dbe6b3f":supplier._id,//供应商 "60b08b124ba5ab636e2f5be9":date,//时间 "60b08b544ba5ab636e2f5beb":newNumber(imprest),//操作前的金额 "60b08b600cbcf66375d0e0f3":-newNumber(amount_payable),//操作金额 "60b08b6d0cbcf66375d0e0f4":newNumber(imprest)-newNumber(amount_payable),//操作后的金额=原本备用金-订单应付金额 "60b08b7b0cbcf66375d0e0f6":user._id,//操作人是当前用户 }) }else{ //更新订单信息 await$plugin.data.updateData("60b08c47b6c7d5637c90ac77",order._id,{ "60b08cfacec155636dbe6b4a":newNumberimprest(imprest),//更新订单的已付金额=剩余备用金 "60b08e930cbcf66375d0f721":"备用金抵扣部分",//更新订单的付款说明 }); //更新供应商的备用金 await$plugin.data.updateData("60b08c47b6c7d5637c90ac77",supplier._id,{ "60b0893d0cbcf66375d0e0d0":0//备用金抵扣后为0 }) //添加备用金流水记录 await$plugin.data.saveData("60b08b0c0cbcf66375d0e0f2",{ "60b08b47cec155636dbe6b3f":supplier._id,//供应商 "60b08b124ba5ab636e2f5be9":date,//时间 "60b08b544ba5ab636e2f5beb":newNumber(imprest),//操作前的金额 "60b08b600cbcf66375d0e0f3":-newNumber(imprest),//操作金额 "60b08b6d0cbcf66375d0e0f4":0,//操作后的金额=0 "60b08b7b0cbcf66375d0e0f6":user._id,//操作人是当前用户 }) } } }功能效果示例:

备用金足够抵扣时:

备用金的支出明细,如何实现备用金及其流水明细效果(14)

备用金抵扣部分时:

备用金的支出明细,如何实现备用金及其流水明细效果(15)

,
软件推荐