我需要生成的目标任务参数里面计算一个折扣单价出来。
那我建议你使用AfterTargetGenerate目标队列生成后加工厂,这个加工厂可以在生成任务后,写入数据库之前对任务里面的参数做进一步加工处理。 你具体希望如何处理 计算折扣后单价呢?
我的明细行里面现在有折扣前的单价与折扣率。我要根据这两个东西算出每一行的折后单价。
我明白了,我需要你提供一下目前的请求参数示例。
{ “bill_source”: “ISV”, “bill_date”: “2024-03-01”, “material_entity”: [ { “material_number”: “A.A.01.04.AA010404”, “stock_id”: “1269848096431430656”, “qty”: “1”, “unit_id”: “1269832546082910208”, “price”: 95.2, “discount2”: 0.8 } ] }
我已经帮你写好了这个加工厂来计算折扣后单价,将该加工厂代码新增到方案的事件 AfterTargetGenerate 即可
<?php class AfterTargetGenerate { protected $params = []; protected $ids = []; public function __construct(&$params, $ids) { $this->params = &$params; $this->ids = $ids; } public function run() { foreach ($this->params['material_entity'] as &$item) { // 这是最终计算出来的折扣后单价 discount_unit_price $item['discount_unit_price'] = round($item['price']*$item['discount2'],2); } } }