"增值税专用发票", "normal"=>"增值税普通发票", "roll"=>"增值税普通发票(卷式)", "special_electronic"=>"增值税电子专用发票", "electronic"=>"增值税电子普通发票", "blockchain_electronic"=>"区块链电子发票", "toll"=>"增值税电子普通发票(通行费)", "fully_digitalized_special_electronic"=>"全电专用发票", "fully_digitalized_normal_electronic"=>"全电普通发票", ]; public static $invStatus=[0=>'待验证','1'=>'正常','2'=>'已作废','3'=>'已红冲']; //0待验证 1待关联订单 2订单部分关联 3订单完全关联 public function Items(){ return $this->hasMany(InvoiceItem::class,'invoiceCode','InvCode'); } // public static function onAfterWrite(Model $model) : void{ // $change = $model->getChangedData(); // if (isset($change['status'])){ // if($change['status']==4){ // $itemid= InvoiceItem::where(['invoiceCode'=>$model->InvCode,'status'=>[1,2]])->column("id"); // if(!empty($itemid)){ // $invo= InvoiceOrder::whereIn('itemId',$itemid)->where(['status'=>[1,2]])->column("code,balance_amount,total_amount"); // if(!empty($invo)){ // foreach ($invo as $key=>$val){ // $cgdinfo = CgdInfo::where(['sequenceNo'=>$val['code']])->findOrEmpty(); // if(!$cgdinfo->isEmpty()){ // $cgdinfo->ainv_fee = bcadd($cgdinfo->winv_fee,bcsub($val['total_amount'],$val['balance_amount'],2),2); // $cgdinfo->inv_status = $cgdinfo->winv_fee==0 && $cgdinfo->ainv_fee==$cgdinfo->totalPrice ?3:2; // $cgdinfo->save(); // } // $payinfo = PayInfo::where(['cgdNo'=>$val['code'],'status'=>1,'is_del'=>0])->findOrEmpty(); // if(!$payinfo->isEmpty()){ // $pay= Pay::where(['payNo'=>$payinfo->payNo,'status'=>2])->findOrEmpty(); // if(!$pay->isEmpty()){ // $pay->inv_fee=bcsub($pay->winv_fee,bcsub($val['total_amount'],$val['balance_amount'],2),2); // $pay->ainv_fee = bcadd($pay->inv_fee,bcsub($val['total_amount'],$val['balance_amount'],2),2); // $pay->inv_status = $pay->winv_fee==0 && $pay->inv_fee==0?3:2; // $pay->save(); // } // } // } // } // } // } // // if($change['status']==9){ // InvoiceItem::refund($model->InvCode); // } // } // } }