Browse Source

售前退货工单,库管收货接口优化,报表优化

wufeng 2 years ago
parent
commit
9b88e40233
2 changed files with 62 additions and 71 deletions
  1. 28 21
      app/admin/controller/ReorderChild.php
  2. 34 50
      app/admin/controller/SaleReport.php

+ 28 - 21
app/admin/controller/ReorderChild.php

@@ -202,18 +202,25 @@ class ReorderChild extends Base
                 //维护销售单
                 $order = Db::name('sale')->where(['is_del' => 0, 'id' => $info['saleid']])->findOrEmpty();
                 //未发货数量要减去发货单上的发货数量
-                $out_send_num = Db::name('order_out')
-                    ->where(['is_del' => 0, 'orderCode' => $info['orderCode'], 'status' => [0, 1]])
-                    ->sum('send_num');
+//                $out_send_num = Db::name('order_out')
+//                    ->where(['is_del' => 0, 'orderCode' => $info['orderCode'], 'status' => [0, 1]])
+//                    ->sum('send_num');
 
-                $order['wsend_num'] -= $out_send_num;
+//                $order['wsend_num'] -= $out_send_num;
 
                 $thnum = $info['thnum'];//退货总数量
-                if ($order['wsend_num'] < $thnum) throw new Exception("销售单未发货数量不足退货");
+//                if ($order['wsend_num'] < $thnum) throw new Exception("销售单未发货数量不足退货");
+
+                //如果  发货  维护销售单的
+                //else 未发货数量减,
+                if ($info['order_out_status'] == 1) {
+                    $order['wsend_num'] -= $thnum;
+                    $order['send_num'] += $thnum;
+                }
+
+
+//                $lor = $order['status'];
 
-                $lor = $order['status'];
-                $order['wsend_num'] -= $thnum;
-                $order['send_num'] += $thnum;
                 $order['status'] = $order['wsend_num'] == 0 ? 2 : ($order['send_num'] == 0 ? 0 : 1);
                 $order['send_status'] = $order['wsend_num'] == 0 ? 3 : ($order['send_num'] == 0 ? 1 : 2);
                 $order['th_num'] += $thnum;
@@ -225,19 +232,19 @@ class ReorderChild extends Base
                 $uap = Db::name("sale")->save($order);
                 if ($uap == false) throw new Exception('销售单订单更新失败');
 
-                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
-                    "order_code" => $order["orderCode"],//出库单号
-                    "status" => $lor,//这里的status是之前的值
-                    "action_remark" => '',//备注
-                    "action_type" => "status"//新建create,编辑edit,更改状态status
-                ], "XSQRD", $order['status'], $order);
-
-                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
-                    "order_type" => 'XSQRD',
-                    "order_code" => $order["orderCode"],//出库单号
-                    "order_id" => $order["id"],
-                    "order_status" => $order['status'], "before_status" => $lor
-                ]);
+//                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
+//                    "order_code" => $order["orderCode"],//出库单号
+//                    "status" => $lor,//这里的status是之前的值
+//                    "action_remark" => '',//备注
+//                    "action_type" => "status"//新建create,编辑edit,更改状态status
+//                ], "XSQRD", $order['status'], $order);
+//
+//                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
+//                    "order_type" => 'XSQRD',
+//                    "order_code" => $order["orderCode"],//出库单号
+//                    "order_id" => $order["id"],
+//                    "order_status" => $order['status'], "before_status" => $lor
+//                ]);
             }
 
             //发货工单数量减少

+ 34 - 50
app/admin/controller/SaleReport.php

@@ -31,51 +31,43 @@ class SaleReport extends Base
     //【一、管理报表】1.日报_列表
     public function consultDay()
     {
-        $param = $this->request->only(['token', 'date' => date('Y-m-d'), 'relaComNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['token', 'date' => date('Y-m-d')], 'post', 'trim');
 
-        $rs_1_where = [
-            ['ci.is_del', '=', 0],
-            ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_1_where[] = ['co.companyNo', '=', $param['relaComNo']];
         $rs_1 = Db::name('consult_info')
             ->alias('ci')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
-            ->where($rs_1_where)
+            ->where([
+                ['ci.is_del', '=', 0],
+                ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('co.createrid,co.creater')
             ->column('COUNT(ci.id) 当日咨询单数量,SUM(ci.budget_price*ci.num) 金额,co.creater 创建人', 'co.createrid');
 
-        $rs_2_where = [
-            ['is_del', '=', 0],
-            ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
-            ->where($rs_2_where)
+            ->where([
+                ['is_del', '=', 0],
+                ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('apply_id,apply_name')
             ->column('COUNT(id) 当日下单数量,SUM(total_price) 金额,apply_name 创建人', 'apply_id');
 
-        $rs_3_where = [
-            ['oo.status', '=', 3],
-            ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_3 = Db::name('order_out')
             ->alias('oo')
             ->leftJoin('sale s', 's.orderCode=oo.orderCode')
-            ->where($rs_3_where)
+            ->where([
+                ['oo.status', '=', 3],
+                ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('oo.apply_id,oo.apply_name')
             ->column('COUNT(oo.id) 当日签收数量,SUM(s.total_price) 金额,oo.apply_name 创建人', 'oo.apply_id');
 
-        $rs_4_where = [
-            ['or.is_del', '=', 0],
-            ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_4 = Db::name('order_return')
             ->alias('or')
             ->leftJoin('sale s', 's.orderCode=or.orderCode')
-            ->where($rs_4_where)
+            ->where([
+                ['or.is_del', '=', 0],
+                ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('or.apply_id,or.apply_name')
             ->column('COUNT(or.id) 单日售后单数,SUM(s.total_price) 金额,or.apply_name 创建人', 'or.apply_id');
 
@@ -123,51 +115,43 @@ class SaleReport extends Base
     //【一、管理报表】1.日报_导出
     public function consultDayExport()
     {
-        $param = $this->request->only(['token', 'date' => date('Y-m-d'), 'relaComNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['token', 'date' => date('Y-m-d')], 'post', 'trim');
 
-        $rs_1_where = [
-            ['ci.is_del', '=', 0],
-            ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_1_where[] = ['co.companyNo', '=', $param['relaComNo']];
         $rs_1 = Db::name('consult_info')
             ->alias('ci')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
-            ->where($rs_1_where)
+            ->where([
+                ['ci.is_del', '=', 0],
+                ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('co.createrid,co.creater')
             ->column('COUNT(ci.id) 当日咨询单数量,SUM(ci.budget_price*ci.num) 金额,co.creater 创建人', 'co.createrid');
 
-        $rs_2_where = [
-            ['is_del', '=', 0],
-            ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
-            ->where($rs_2_where)
+            ->where([
+                ['is_del', '=', 0],
+                ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('apply_id,apply_name')
             ->column('COUNT(id) 当日下单数量,SUM(total_price) 金额,apply_name 创建人', 'apply_id');
 
-        $rs_3_where = [
-            ['oo.status', '=', 3],
-            ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_3 = Db::name('order_out')
             ->alias('oo')
             ->leftJoin('sale s', 's.orderCode=oo.orderCode')
-            ->where($rs_3_where)
+            ->where([
+                ['oo.status', '=', 3],
+                ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('oo.apply_id,oo.apply_name')
             ->column('COUNT(oo.id) 当日签收数量,SUM(s.total_price) 金额,oo.apply_name 创建人', 'oo.apply_id');
 
-        $rs_4_where = [
-            ['or.is_del', '=', 0],
-            ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_4 = Db::name('order_return')
             ->alias('or')
             ->leftJoin('sale s', 's.orderCode=or.orderCode')
-            ->where($rs_4_where)
+            ->where([
+                ['or.is_del', '=', 0],
+                ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('or.apply_id,or.apply_name')
             ->column('COUNT(or.id) 单日售后单数,SUM(s.total_price) 金额,or.apply_name 创建人', 'or.apply_id');