wugg hace 6 meses
padre
commit
bcae3a37fb
Se han modificado 2 ficheros con 11 adiciones y 3 borrados
  1. 9 2
      app/admin/controller/InvoiceItem.php
  2. 2 1
      app/admin/model/InvoiceOrder.php

+ 9 - 2
app/admin/controller/InvoiceItem.php

@@ -4,13 +4,13 @@
 namespace app\admin\controller;
 
 use app\admin\model\InvoiceGood;
-use app\admin\model\OrderCategory;
+use app\admin\model\InvoiceOrder;use app\admin\model\OrderCategory;
 use app\admin\model\PayInfo;
 use think\App;
 use think\facade\Validate;
 class InvoiceItem extends Base{
     public function __construct(App $app) {
-      #  $this->novalidate = ["*"];
+       $this->novalidate = ["*"];
         parent::__construct($app);
     }
     //查询
@@ -27,6 +27,10 @@ class InvoiceItem extends Base{
                 ->field("b.sequenceNo,b.goodNo,b.goodName,(b.goodNum-thNum) as goodNum,b.goodPrice,b.totalPrice,
                 c.merge_code,c.cat_code,c.cat_name,c.short_name,c.tax,c.inv_good_name")
                 ->select();
+        $list->each(function (&$item){
+          
+            $item['balance_amount']= bcsub($item['totalPrice'],InvoiceOrder::getInvoiceOrderTotalFee($item['sequenceNo']),2);
+        });
          $this->success('获取成功',$list);
     }
     //查询
@@ -43,6 +47,9 @@ class InvoiceItem extends Base{
                 ->field("b.sequenceNo,b.goodNo,b.goodName,a.goodNum,a.goodPrice,a.totalPrice,
                                 c.merge_code,c.cat_code,c.cat_name,c.short_name,c.tax,c.inv_good_name")
             ->select();
+          $list->each(function (&$item){
+            $item['balance_amount']= bcsub($item['totalPrice'],InvoiceOrder::getInvoiceOrderTotalFee($item['sequenceNo']),2);
+        });
          $this->success('获取成功',$list);
     }
     //添加发票明细对应关系

+ 2 - 1
app/admin/model/InvoiceOrder.php

@@ -17,7 +17,8 @@ class InvoiceOrder extends \think\Model{
         return $this->hasOne('InvoiceItem','itemId','id');
     }
     public static function getInvoiceOrderTotalFee($code){
-        return  (new InvoiceOrder)->withJoin(["ItemInfo"],"left")->where(['code'=>$code,"status"=>1])->sum('totalFee');
+        $banance =  (new InvoiceOrder)->where(['code'=>$code,'status'=>[1,2]])->field('sum(ifnull(total_amount-balance_amount,0)) as total_amount')->find();
+        return $banance['total_amount'];
     }
 
     public function getMergeCodeAttr($value,$data){