123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace app\cxinv\model;
- use think\Model;use think\model\concern\SoftDelete;
- class Invoice extends Base{
- use SoftDelete;
- protected $createTime="createTime";
- protected $updateTime="updateTime";
- protected $deleteTime="delete_time";
- public static $invoiceType=[
- "special"=>"增值税专用发票",
- "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);
- // }
- // }
- // }
- }
|