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,//操作人是当前用户
})
}
}
}