commit de compras
This commit is contained in:
@@ -110,6 +110,12 @@ final class DirectCosts
|
||||
$id=DB::table('dc_decisions')->insertGetId([$field=>$r->id,'version'=>$r->version,'decision'=>$d['decision'],'reason'=>$d['reason'],'actor_id'=>$actor,'created_at'=>now()]);return ['id'=>$id,'version'=>$r->version,'kind'=>'decision','target_id'=>$r->id];
|
||||
});
|
||||
}
|
||||
/** Authoritative scoped conference for read-only consumers; no second cost calculator. */
|
||||
public function conference(int $order,int $actor):array {
|
||||
self::guard();$s=$this->scope($actor,'view');$o=$this->order($order,$s);$row=DB::table('dc_calculations')->where($s)->where('order_id',$order)->orderByDesc('version')->first();
|
||||
$decision=$row?DB::table('dc_decisions')->where('calculation_id',$row->id)->first():null;$current=$row?$this->calculationCurrent($row):false;
|
||||
return ['order'=>(array)$o,'calculation'=>$row?(array)$row:null,'snapshot'=>$row?json_decode($row->snapshot,true,64,JSON_THROW_ON_ERROR):null,'decision'=>$decision?(array)$decision:null,'current'=>$current];
|
||||
}
|
||||
public function listing(int $actor): array {
|
||||
$s=$this->scope($actor,'view');if(!ServiceCalculation::isolated())return ['blocked'=>true,'orders'=>[],'notice'=>self::NOTICE];self::guard();
|
||||
return DB::transaction(function()use($s){
|
||||
|
||||
Reference in New Issue
Block a user