Browse Source

无地址数量

wufeng 2 years ago
parent
commit
e95bcc95d2
1 changed files with 13 additions and 21 deletions
  1. 13 21
      app/admin/controller/SaleReport.php

+ 13 - 21
app/admin/controller/SaleReport.php

@@ -1643,36 +1643,29 @@ class SaleReport extends Base
         if ($param['apply_company'] != '') $where[] = ['ci.name', 'like', '%' . $param['apply_company'] . '%'];
         if ($param['order_type'] != '') $where[] = ['a.order_type', '=', $param['order_type']];
 
-        $count = $data = Db::name('sale')
+        $count = Db::name('sale')
             ->alias('a')
-            ->leftJoin("order_out b", "b.orderCode=a.orderCode AND b.is_del=0")
+            ->leftJoin("order_addr b", "b.orderCode=a.orderCode AND b.is_del=0")
             ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
             ->leftJoin("company_item ci", "ci.id=u.itemid")
             ->where($where)
-            ->whereNull('b.id')
+            ->group('a.id,a.orderCode,a.order_type,a.good_code,a.skuCode,good_name,a.good_num,a.send_num,a.wsend_num,a.status,u.nickname,ci.name,b.orderCode')
+            ->having('a.good_num > SUM(b.receipt_quantity) ')
             ->count('a.id');
 
         $data = Db::name('sale')
             ->alias('a')
-            ->field('a.id,a.orderCode,a.order_type,a.good_code,a.skuCode,good_name,a.good_num,a.send_num,a.wsend_num,a.status,u.nickname,ci.name')
-            ->leftJoin("order_out b", "b.orderCode=a.orderCode AND b.is_del=0")
+            ->field('a.id,a.orderCode,a.order_type,a.good_code,a.skuCode,good_name,a.good_num,a.send_num,a.wsend_num,a.status,u.nickname,ci.name,(a.good_num - SUM(b.receipt_quantity) ) as  not_addr_address_good_num')
+            ->leftJoin("order_addr b", "b.orderCode=a.orderCode AND b.is_del=0")
             ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
             ->leftJoin("company_item ci", "ci.id=u.itemid")
             ->where($where)
-            ->whereNull('b.id')
+            ->group('a.id,a.orderCode,a.order_type,a.good_code,a.skuCode,good_name,a.good_num,a.send_num,a.wsend_num,a.status,u.nickname,ci.name,b.orderCode')
+            ->having('a.good_num > SUM(b.receipt_quantity) ')
             ->page($param['page'], $param['size'])
             ->order("a.addtime desc")
             ->select()
             ->toArray();
-//            ->cursor();
-
-//        $list = [];
-//        foreach ($data as $value) {
-//
-//            $value['order_type'] = isset($this->all_order_type[$value['order_type']]) ? $this->all_order_type[$value['order_type']] : '';
-//
-//            $list[] = $value;
-//        }
 
         return app_show(0, '请求成功', ['list' => $data, 'count' => $count]);
 
@@ -1692,12 +1685,12 @@ class SaleReport extends Base
 
         $data = Db::name('sale')
             ->alias('a')
-            ->field('a.orderCode 订单编号,a.order_type 订单类型,a.good_code 商品成本编码,a.skuCode 商品上线编码,good_name 商品名称,a.good_num 购买数量,a.send_num 已发货数量,a.wsend_num 未发货数量,a.status 订单状态,u.nickname 申请人名称,ci.name 申请人所属部门')
-            ->leftJoin("order_out b", "b.orderCode=a.orderCode AND b.is_del=0")
-            ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
+            ->field('a.orderCode 订单编号,a.order_type 订单类型,a.good_code 商品成本编码,a.skuCode 商品上线编码,good_name 商品名称,a.good_num 购买数量,a.send_num 已发货数量,a.wsend_num 未发货数量,a.status 订单状态,u.nickname 申请人名称,ci.name 申请人所属部门,(a.good_num - SUM(b.receipt_quantity) ) as  无地址数量')
+            ->leftJoin("order_addr b", "b.orderCode=a.orderCode AND b.is_del=0")->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
             ->leftJoin("company_item ci", "ci.id=u.itemid")
             ->where($where)
-            ->whereNull('b.id')
+            ->group('a.id,a.orderCode,a.order_type,a.good_code,a.skuCode,good_name,a.good_num,a.send_num,a.wsend_num,a.status,u.nickname,ci.name,b.orderCode')
+            ->having('a.good_num > SUM(b.receipt_quantity) ')
             ->order("a.addtime desc")
             ->cursor();
 
@@ -1709,8 +1702,7 @@ class SaleReport extends Base
 
             $list[] = $value;
         }
-
-
+        
         if (empty($list)) $list[] = '没有相关可导出的数据';
         excelSave('无地址销售订单列表' . date('YmdHis'), array_keys($list[0]), $list);