Browse Source

细节优化,获取三级架构优化

wufeng 2 years ago
parent
commit
bb40c4b748

+ 1 - 0
app/admin/common/User.php

@@ -70,6 +70,7 @@ class User
         'customer_org_info' => 'customer_org_info',
         'customer_org_delete' => 'customer_org_delete',
         'customer_org_status' => 'customer_org_status',
+        'get_top_customer_org' => 'get_top_customer_org',
         'getCodeAndName' => 'getCodeAndName',
         'upgrade' => 'supplerUpgrade',
         'get_business_list_tmp' => 'get_business_list_tmp',

+ 5 - 5
app/admin/controller/Check.php

@@ -24,7 +24,7 @@ public function __construct(App $app)
     {
         $page = isset($this->post['page']) && $this->post['page'] !== "" ? intval($this->post['page']) : 1;
         $size = isset($this->post['size']) && $this->post['size'] !== "" ? intval($this->post['size']) : 10;
-        $condtion = [['b.is_del', "=", 0], ['c.is_del', "=", 0]];
+        $condtion = [['b.is_del', "=", 0], ['c.is_del', "=", 0], ['b.is_stock', '=', 1]];
         $wsmcode = isset($this->post['wsm_code']) && $this->post['wsm_code'] !== "" ? trim($this->post['wsm_code']) : "";
         if ($wsmcode !== "") {
             //return error_show(1002,"仓库code不能为空");
@@ -109,13 +109,13 @@ public function __construct(App $app)
             ->alias("b")
             ->leftJoin("good_stock c", "c.spuCode=b.spuCode")
             ->where($condtion)
-            ->field("b.*,c.id as stock_id,c.usable_stock,c.wait_in_stock,c.wait_out_stock,c.wsm_code,0 uid,'' nickname")//暂未想好,先留空20230112 14:34@wf
+            ->field("b.*,c.id as stock_id,c.usable_stock,c.wait_in_stock,c.wait_out_stock,c.wsm_code")
             ->page($page, $size)
             ->select()
             ->toArray();
 
-        $all_createrid = array_column($list,'createrid');
-        $item = get_company_name_by_uid($all_createrid);
+//        $all_createrid = array_column($list,'createrid');
+//        $item = get_company_name_by_uid($all_createrid);
 
         $data = [];
         if ($list) {
@@ -161,7 +161,7 @@ public function __construct(App $app)
                 }
                 $value['specinfo'] = $speclist;
                 $value['cgder'] =$goodBasic[$value['spuCode']]??"";
-                $value['company_name'] = $item[$value['createrid']]??'';
+//                $value['company_name'] = $item[$value['createrid']]??'';
                 $data[] = $value;
             }
 

+ 3 - 0
app/admin/controller/Sale.php

@@ -3671,6 +3671,9 @@ class Sale extends Base
             $where[] = ["a.status", '>=', 2];//搜索发货时间时,要指定状态为已发货及之后的状态值(0待发货,1待库管发货,2已发货待收货,3已收货,4已全部退货',)
         }
 
+        $order_source = isset($this->post['order_source']) && $this->post['order_source'] !== "" ? intval($this->post['order_source']) : "";
+        if ($order_source !== "") $where[] = ["b.order_source", '=', $order_source];
+
         $count = Db::name('order_out')
             ->alias('a')
             ->join("sale b", "b.orderCode=a.orderCode", "left")

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

@@ -49,7 +49,7 @@ class SaleReport extends Base
             ['is_del', '=', 0],
             ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
         ];
-        if ($param['relaComNo'] !== '') $rs_2_where[] = ['customer_code|supplierNo', '=', $param['relaComNo']];
+        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
             ->where($rs_2_where)
             ->group('apply_id,apply_name')
@@ -59,7 +59,7 @@ class SaleReport extends Base
             ['oo.status', '=', 3],
             ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
         ];
-        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.customer_code|s.supplierNo', '=', $param['relaComNo']];
+        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')
@@ -71,7 +71,7 @@ class SaleReport extends Base
             ['or.is_del', '=', 0],
             ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
         ];
-        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.customer_code|s.supplierNo|or.customer_code', '=', $param['relaComNo']];
+        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')
@@ -137,25 +137,37 @@ class SaleReport extends Base
             ->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('is_del', 0)
-            ->whereBetween('addtime', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59'])
+            ->where($rs_2_where)
             ->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(['oo.status' => 3])
-            ->whereBetween('oo.addtime', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59'])
+            ->where($rs_3_where)
             ->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(['or.is_del' => 0])
-            ->whereBetween('or.addtime', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59'])
+            ->where($rs_4_where)
             ->group('or.apply_id,or.apply_name')
             ->column('COUNT(or.id) 单日售后单数,SUM(s.total_price) 金额,or.apply_name 创建人', 'or.apply_id');
 
@@ -179,7 +191,6 @@ class SaleReport extends Base
             $val['当日下单数量'] = isset($rs_2[$id]['当日下单数量']) ? $rs_2[$id]['当日下单数量'] : '';
             $val['当日下单金额'] = isset($rs_2[$id]['金额']) ? $rs_2[$id]['金额'] : '';
 
-
             $val['当日签收数量'] = isset($rs_3[$id]['当日签收数量']) ? $rs_3[$id]['当日签收数量'] : '';
             $val['当日签收金额'] = isset($rs_3[$id]['金额']) ? $rs_3[$id]['金额'] : '';
 

+ 26 - 23
app/common.php

@@ -1105,27 +1105,33 @@ if (!function_exists('get_logistics_information')) {
 
 //获取三级架构
 if (!function_exists('get_top_customer_org')) {
-    function get_top_customer_org($var, $data = [])
+    function get_top_customer_org($var)
     {
-        $str = Db::name('customer_org1')
-            ->field('id,name,pid,level')
-            ->where(['id' => $var])
-            ->find();
-        if ($str == false) {
-            return [];
-        }
-        $vmn = [];
-        $vmn['id'] = $str['id'];
-        $vmn['name'] = $str['name'];
-        $vmn['level'] = $str['level'];
-        array_unshift($data, $vmn);
-        // $var['id']=made();
-        if ($str['pid'] == 0) {
-            // krsort($data);
-            return $data;
-        } else {
-            return get_top_customer_org($str['pid'], $data);
-        }
+        $userCommon = new \app\admin\common\User();
+        $rs = $userCommon->handle('get_top_customer_org', ['itemid' => is_array($var) ? $var : [$var]]);
+
+        if (is_array($var)) return $rs['data'];
+        else return $rs['data'][$var];
+
+//        $str = Db::name('customer_org1')
+//            ->field('id,name,pid,level')
+//            ->where(['id' => $var])
+//            ->find();
+//        if ($str == false) {
+//            return [];
+//        }
+//        $vmn = [];
+//        $vmn['id'] = $str['id'];
+//        $vmn['name'] = $str['name'];
+//        $vmn['level'] = $str['level'];
+//        array_unshift($data, $vmn);
+//        // $var['id']=made();
+//        if ($str['pid'] == 0) {
+//            // krsort($data);
+//            return $data;
+//        } else {
+//            return get_top_customer_org($str['pid'], $data);
+//        }
     }
 }
 
@@ -1249,8 +1255,6 @@ if (!function_exists('checkHasAccountBySupplierNos')) {
     }
 }
 
-
-
 //获取当前用户可查看的其他用户id(新版的)
 if (!function_exists('get_group_share_uid')) {
     function get_group_share_uid(int $uid = 0)
@@ -1526,7 +1530,6 @@ if(!function_exists('makeMenu')){
     }
 }
 
-
 if (!function_exists('MenuTree')) {
     function MenuTree(&$menuArr, $pid = 0)
     {