Browse Source

Merge branch 'master-new-wgg' of wugg/phpstock into master-new

wugg 1 year ago
parent
commit
28061a163d

+ 1 - 1
app/admin/controller/Goodup.php

@@ -2031,7 +2031,7 @@ class Goodup extends Base
             return error_show(1004,"未找到数据");
         }
 
-        if(in_array($platform["exam_status"],[4,5])){
+        if(!in_array($platform["exam_status"],[4,5])){
             return error_show(1004,"商品状态有误");
         }
         //判断平台商品编码是否重复

+ 37 - 105
app/admin/controller/Report.php

@@ -282,58 +282,27 @@ class Report extends Base
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['po.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
 
 
-        //统计条数的时候,不能按照status分组,否则下方列表不准
-//        $count = Db::name('purchease_order')
-//            ->alias('po')
-//            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
-//            ->leftJoin('company_item ci', 'ci.id=du.itemid')
-//            ->where($where)
-//            ->order('addtime,itemid')
-//            ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,COUNT(po.id) total_num,du.itemid,ci.name,"" wait_total_fee,"" wait_total_num')
-//            ->group('addtime,du.itemid')
-//            ->count();
-
-//        $list = Db::name('purchease_order')
-//            ->alias('po')
-//            ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,COUNT(po.id) total_num,po.status,du.itemid,ci.name,"" wait_total_fee,"" wait_total_num')
-//            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
-//            ->leftJoin('company_item ci', 'ci.id=du.itemid')
-//            ->where($where)
-//            ->order(['addtime'=>'desc','itemid'=>'asc'])
-//            ->page($param['page'], $param['size'])
-//            ->group('addtime,du.itemid,po.status')
-//            ->cursor();
-
         $list = Db::name('purchease_order')
             ->alias('po')
-            ->field('po.id,DATE_FORMAT(po.addtime,"%Y%m%d") addtime,po.cgder_id,IF(ISNULL(`du`.`itemid`),0,`du`.`itemid`) itemid,IF(ISNULL(`ci`.`name`),"供应商端",`ci`.`name`) name,po.total_fee,po.good_num,po.status,po.supplierNo')
-            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0 AND du.nickname = po.cgder')
-            ->leftJoin('company_item ci', 'ci.id=du.itemid')
+            ->field('po.id,DATE_FORMAT(po.addtime,"%Y%m%d") addtime,po.cgder_id,0 itemid,"" name,po.total_fee,po.good_num,po.status,po.supplierNo')
             ->where($where)
             ->order(['addtime' => 'desc', 'itemid' => 'asc'])
-//            ->cursor();
             ->select()
             ->toArray();
+        $all_supplier_no =array_unique(array_column($list, 'supplierNo')) ;
+        $all_cgder_id =array_unique(array_column($list, 'cgder_id')) ;
 
-        $all_supplier_no = array_column($list, 'supplierNo');
 
         $all_supplier = checkHasAccountBySupplierNos($all_supplier_no);//检查这些供应商账号是否开通账户
+        $all_cgder = get_company_name_by_uid($all_cgder_id);//检查这些供应商账号是否开通账户
         $all_supplier = array_keys($all_supplier);
 
         $data = [];
         foreach ($list as $value) {
-
-            //把供应商端的数据单列出来
-            if (in_array($value['supplierNo'], $all_supplier)) {
-                $value['itemid'] = -1;
-                $value['name'] = '供应商端';
-            }
-
             if (!isset($data[$value['addtime']][$value['itemid']])) {
                 $data[$value['addtime']][$value['itemid']] = [
                     'addtime' => date('Y-m-d', strtotime($value['addtime'])),
-//                    'itemid' => $value['itemid'],
-                    'name' => $value['name'],
+                    'name' => $all_cgder [$value['cgder_id']]??"",
                     'total_fee' => '0',
                     'total_num' => '0',
                     'good_num' => '0',
@@ -360,14 +329,6 @@ class Report extends Base
                     break;
             }
 
-//            if ($value['status'] == 0) {
-//                $data[$value['addtime']][$value['itemid']]['wait_total_fee'] += $value['total_fee'];
-//                $data[$value['addtime']][$value['itemid']]['wait_total_num'] += $value['total_num'];
-//            } else {
-//                $data[$value['addtime']][$value['itemid']]['total_fee'] += $value['total_fee'];
-//                $data[$value['addtime']][$value['itemid']]['total_num'] += $value['total_num'];
-//            }
-
         }
 
         //去除下标
@@ -389,9 +350,6 @@ class Report extends Base
             'token',
             'start_date' => '',
             'end_date' => '',
-//            'page' => 1,
-//            'size' => 15,
-//            'supplier' => ''
         ], 'post', 'trim');
 
         $val_params = Validate::rule([
@@ -403,41 +361,25 @@ class Report extends Base
 
         $where = [['cb.is_del', '=', 0]];
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['cb.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
-//        if ($param['supplier'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier'] . '%'];
-
-//        $count = Db::name('consult_bids')
-//            ->alias('cb')
-////            ->field('DATE_FORMAT(cb.addtime,"%Y-%m-%d") addtime,du.itemid,cb.createrid,SUM(c.num) num,COUNT(cb.id) total,du.nickname,ci.name')
-//            ->leftJoin('consult_info c', 'c.infoNo=cb.infoNo')
-//            ->leftJoin('depart_user du', 'du.uid=cb.createrid AND du.is_del=0')
-//            ->leftJoin('company_item ci', 'ci.id=du.itemid')
-////            ->leftJoin('supplier s', 's.code=cb.supplierNo')
-//            ->where($where)
-//            ->group('addtime,du.itemid,ci.name ,cb.createrid,du.nickname')
-//            ->order('addtime,du.itemid,ci.name ,cb.createrid,du.nickname')
-//            ->count();
+
 
         $list = Db::name('consult_bids')
             ->alias('cb')
-            ->field('DATE_FORMAT(cb.addtime,"%Y-%m-%d") addtime,du.itemid,cb.createrid,SUM(c.num) num,COUNT(cb.id) total,IF(ISNULL(`du`.`nickname`),`s`.`name`,`du`.`nickname`) nickname,IF(ISNULL(`ci`.`name`),"供应商",`ci`.`name`) name,s.name supplierName')
+            ->field('DATE_FORMAT(cb.addtime,"%Y-%m-%d") addtime,cb.createrid,SUM(c.num) num,COUNT(cb.id) total,cb.cgder nickname,"" name,cb.supplierName')
             ->leftJoin('consult_info c', 'c.infoNo=cb.infoNo')
-            ->leftJoin('depart_user du', 'du.uid=cb.createrid AND du.is_del=0')
-            ->leftJoin('company_item ci', 'ci.id=du.itemid')
-            ->leftJoin('supplier s', 's.code=cb.supplierNo')
             ->where($where)
-            ->group('addtime,du.itemid,ci.name ,cb.createrid,du.nickname,s.name')
-            ->order('addtime desc,du.itemid,ci.name ,cb.createrid,du.nickname')
-//            ->page($param['page'], $param['size'])
+            ->group('addtime,cb.createrid,cb.cgder')
+            ->order('addtime desc,cb.createrid')
             ->cursor();
 
         $data = [];
         foreach ($list as $value) {
-
+			$bumen=get_company_name_by_uid([$value['createrid']]);
+	        $value['name'] = $bumen[$value['createrid']]??'供应商';
             if ($value['name'] == '供应商') {
                 $data[] = $value;
                 continue;
             }
-
             if (!isset($data[$value['addtime']][$value['name']][$value['nickname']])) {
                 $data[$value['addtime']][$value['name']][$value['nickname']] = [
                     'addtime' => $value['addtime'],
@@ -478,8 +420,6 @@ class Report extends Base
             'token',
             'start_date' => '',
             'end_date' => '',
-//            'page' => 1,
-//            'size' => 15
         ], 'post', 'trim');
 
         $val_params = Validate::rule([
@@ -494,29 +434,16 @@ class Report extends Base
 
         //先组织子查询
         $rs = Db::name('purchease_order')
-            ->field('id,DATE_FORMAT(addtime, "%Y-%m-%d") addtime,cgder_id,cgder,total_fee,status,good_num,supplierNo,0 wait_total_fee,0 wait_good_num,0 count_num')
+            ->field('id,DATE_FORMAT(addtime, "%Y-%m-%d") addtime,cgder_id,cgder,total_fee,status,good_num,supplierNo,supplier_name,0 wait_total_fee,0 wait_good_num,0 count_num')
             ->where($where)
             ->order('addtime desc,cgder_id')
             ->select()
             ->toArray();
-//            ->buildSql();
-
-//        $count = Db::table($children_query)
-//            ->alias('a')
-//            ->group('addtime,cgder_id,cgder')
-//            ->count();
-
-//        $rs = Db::table($children_query)
-//            ->alias('a')
-//            ->field('a.addtime,a.cgder_id,a.cgder,SUM(a.total_fee) total_fee,SUM(a.good_num) good_num,COUNT(a.id) count_num,a.status,0 wait_total_fee,0 wait_good_num,supplierNo')
-//            ->group('a.addtime,a.cgder_id,a.cgder,a.status')
-//            ->order('a.addtime desc,a.cgder_id')
-//            ->page($param['page'], $param['size'])
-//            ->cursor();
 
         $all_supplier = array_column($rs, 'supplierNo');
-        $has_account = checkHasAccountBySupplierNos($all_supplier);//检查供应商是否开通账号
-        $supplier = Db::name('supplier')->whereIn('code', array_keys($has_account))->column('name', 'code');
+
+        $has_account = checkHasAccountBySupplierNos(array_unique($all_supplier));//检查供应商是否开通账号
+//        $supplier = Db::name('supplier')->whereIn('code', array_keys($has_account))->column('name', 'code');
 
         $data = [];
         foreach ($rs as $value) {
@@ -527,7 +454,7 @@ class Report extends Base
             if (!isset($data[$value['addtime']][$key])) {
                 $data[$value['addtime']][$key] = [
                     'addtime' => $value['addtime'],
-                    'cgder' => isset($has_account[$value['supplierNo']]) ? $supplier[$value['supplierNo']] ?? '' : $value['cgder'],
+                    'cgder' => isset($has_account[$value['supplierNo']]) ? $value['supplier_name'] ?? '' : $value['cgder'],
                     'name' => isset($has_account[$value['supplierNo']]) ? '供应商' : get_company_name_by_uid($key),
                     'count_num' => '0',
                     'total_fee' => '0',
@@ -589,7 +516,7 @@ class Report extends Base
 
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['ci.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['cbaddtime_start_date'] != '' && $param['cbaddtime_end_date'] != '') $where[] = ['cb.addtime', 'between', [$param['cbaddtime_start_date'] . ' 00:00:00', $param['cbaddtime_end_date'] . ' 23:59:59']];
-        if ($param['supplier'] != '') $where[] = ['cb.supplierNo|s.name', 'like', '%' . $param['supplier'] . '%'];
+        if ($param['supplier'] != '') $where[] = ['cb.supplierNo|cb.supplierName', 'like', '%' . $param['supplier'] .'%'];
         if ($param['creater'] != '') $where[] = ['cb.creater', 'like', '%' . $param['creater'] . '%'];
         if ($param['zxNo'] != '') $where[] = ['cb.infoNo', 'like', '%' . $param['zxNo'] . '%'];
 
@@ -598,35 +525,33 @@ class Report extends Base
             ->alias('cb')
             ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo')
             ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo')
-            ->leftJoin('supplier s', 's.code=cb.supplierNo')
-            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
+//            ->leftJoin('supplier s', 's.code=cb.supplierNo')
+//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
             ->where($where)
             ->count('cb.id');
 
         $data = Db::name('consult_bids')
             ->alias('cb')
-            ->field('cb.id,ci.addtime,cb.bidNo,cb.infoNo zxNo,cb.addtime cbaddtime,cb.good_name,s.name supplier,cb.total_fee,cb.delivery_day,cb.work_day,cb.expire_day,cb.creater,cb.createrid,"" name,ci.num,ci.arrival_time,co.saleid,co.salesman,"" salesman_name,csi.companyName')
+            ->field('cb.id,ci.addtime,cb.bidNo,cb.infoNo zxNo,cb.addtime cbaddtime,cb.good_name,
+            cb.supplierName supplier,cb.total_fee,cb.delivery_day,cb.work_day,cb.expire_day,cb.creater,
+            cb.createrid,"" name,ci.num,ci.arrival_time,co.saleid,co.salesman,"" salesman_name,co.khNo')
             ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo')
             ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo')
-            ->leftJoin('supplier s', 's.code=cb.supplierNo')
-            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
-//            ->withAttr('name', function ($val, $data) {
-//                return get_company_name_by_uid($data['createrid']);
-//            })
-//            ->withAttr('salesman_name', function ($val, $data) {
-//                return get_company_name_by_uid($data['saleid']);
-//            })
             ->where($where)
             ->page($param['page'], $param['size'])
             ->order('ci.addtime', 'desc')
             ->select()
             ->toArray();
-
+		$ComArr =array_unique(array_column($data , "khNo")) ;
+	    $userCommon = \app\admin\common\User::getIns();
+	    $supplier_temp = $userCommon->handle('getCodeAndName', ['code' => $ComArr]);
+	    $supplier = $supplier_temp['data'] ?? [];
         //获取所有创建人的部门
         $item_name = get_company_name_by_uid(array_unique(array_merge(array_column($data, 'createrid'), array_column($data, 'saleid'))));
         foreach ($data as &$value) {
             $value['name'] = $item_name[$value['createrid']] ?? '';
             $value['salesman_name'] = $item_name[$value['saleid']] ?? '';
+            $value['companyName'] = $supplier[$value['khNo']] ?? '';
         }
 
         //汇总
@@ -691,18 +616,25 @@ class Report extends Base
 
 
         $data = $rs
-            ->field('ci.addtime as 咨询时间,cb.bidNo as 采购单反馈单号,cb.infoNo as 咨询订单号,cb.addtime as 回复时间,cb.good_name as 产品名称,s.name as 供应商名称,cb.total_fee 成本合计,cb.delivery_day 物流时间,cb.work_day 产品工期,cb.expire_day 信息有效期,cb.creater 采购员,"" 采购员所属部门,ci.num 需求数量,ci.arrival_time 要求到货日期,co.salesman 业务人员,"" 业务人员所属部门,csi.companyName 客户名称,cb.createrid,co.saleid')
+            ->field('ci.addtime as 咨询时间,cb.bidNo as 采购单反馈单号,cb.infoNo as 咨询订单号,cb.addtime as 回复时间,cb.good_name as 产品名称,cb.supplierName as 供应商名称,cb.total_fee 成本合计,cb.delivery_day 物流时间,cb.work_day 产品工期,cb.expire_day 信息有效期,cb.creater 采购员,"" 采购员所属部门,ci.num 需求数量,ci.arrival_time 要求到货日期,co.salesman 业务人员,"" 业务人员所属部门,"" 客户名称,co.khNo,cb.createrid,co.saleid')
             ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo')
             ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo')
-            ->leftJoin('supplier s', 's.code=cb.supplierNo')
-            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
             ->cursor();
 
+
         $list = [];
+        $supplier=[];
         foreach ($data as $value) {
             $value['采购员所属部门'] = get_company_name_by_uid($value['createrid']);
             $value['业务人员所属部门'] = get_company_name_by_uid($value['saleid']);
+            if(!isset($supplier[$value['khNo']])){
+	            $userCommon = \app\admin\common\User::getIns();
+	            $supplier_temp = $userCommon->handle('getCodeAndName', ['code' => $value['khNo']]);
+	            $supplier[$value['khNo']] = isset($supplier_temp['data']) ? $supplier_temp['data'][$value['khNo']]:'';
+            }
+	        $value['客户名称'] = $supplier[$value['khNo']];
             unset($value['createrid']);
+            unset($value['khNo']);
             unset($value['saleid']);
             $list[] = $value;
         }

+ 17 - 45
app/admin/controller/SaleReport.php

@@ -282,7 +282,6 @@ class SaleReport extends Base
             ->field('co.creater 创建人,"" 创建人部门,ci.addtime 竞价时间,ci.infoNo 竞价单号,cb.bidNo 反馈编号,"" 一级企业,"" 二级企业,"" 客户名称,ci.good_name 产品名称,ci.num 数量,u.unit 单位,ci.budget_price 单价, "" 金额,cb.id 是否采反,ci.status 是否转单,co.createrid,co.khNo')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
             ->leftJoin('unit u', 'u.id=ci.unit')
-//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
             ->leftJoin('consult_bids cb', 'cb.infoNo=ci.infoNo')
             ->where($where)
             ->order('ci.addtime', 'desc')
@@ -1250,10 +1249,7 @@ class SaleReport extends Base
             ->alias('ci')
             ->leftJoin('consult_bids cb', 'cb.infoNo=ci.infoNo AND cb.is_del=0')
             ->leftJoin('sale s', 's.zxNo=cb.bidNo AND s.is_del=0')
-            ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo')
-//            ->leftJoin('depart_user du', 'du.uid=co.saleid AND du.is_del=0')
-//            ->leftJoin('company_item item', 'item.id=du.itemid')
-//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
+            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
             ->leftJoin('brand b', 'b.id=ci.brand_id')
             ->leftJoin('unit u', 'u.id=ci.unit')
             ->where($where)
@@ -1262,13 +1258,10 @@ class SaleReport extends Base
 
         $data = Db::name('consult_info')
             ->alias('ci')
-            ->field('ci.addtime,co.salesman,"" name,cb.infoNo,"" companyName,ci.use_desc,ci.good_name,b.brand_name,ci.model,s.good_code,ci.cat_id,ci.budget_price,u.unit,ci.num,s.sale_price,ci.arrival_time,ci.is_addrs,ci.is_custom,ci.remark,ci.status,ci.bargain_code,s.orderCode,co.khNo,co.saleid')
+            ->field('ci.addtime,co.salesman,"" name,ci.infoNo,"" companyName,ci.use_desc,ci.good_name,b.brand_name,ci.model,s.good_code,ci.cat_id,ci.budget_price,u.unit,ci.num,s.sale_price,ci.arrival_time,ci.is_addrs,ci.is_custom,ci.remark,ci.status,ci.bargain_code,s.orderCode,co.khNo,co.saleid')
             ->leftJoin('consult_bids cb', 'cb.infoNo=ci.infoNo AND cb.is_del=0')
             ->leftJoin('sale s', 's.zxNo=cb.bidNo AND s.is_del=0')
-            ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo')
-//            ->leftJoin('depart_user du', 'du.uid=co.saleid AND du.is_del=0')
-//            ->leftJoin('company_item item', 'item.id=du.itemid')
-//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
+            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
             ->leftJoin('brand b', 'b.id=ci.brand_id')
             ->leftJoin('unit u', 'u.id=ci.unit')
             ->where($where)
@@ -1542,13 +1535,12 @@ class SaleReport extends Base
             ->alias('thd')
             ->field('thd.id,thd.th_type,thd.addtime return_time,thd.thCode,"" outCode,"" status,"" apply_name,"" apply_company,thd.orderCode,s.addtime,"" companyName,s.good_name,s.sale_price,s.wsend_num,s.th_num,s.th_fee,"" contactor,"" mobile,"" addr,"" result,s.customer_code')
             ->leftJoin('sale s', 's.orderCode=thd.orderCode')
-//            ->leftJoin('customer_info c', 'c.companyNo=s.customer_code')
             ->where($where)
             ->order('thd.addtime', 'desc')
             ->select()
             ->toArray();
 
-        $th_types = [];
+        $th_types = ["1"=>[],"2"=>[],"3"=>[]];
 
 
         foreach ($data as $value) {
@@ -1560,9 +1552,6 @@ class SaleReport extends Base
             ->withAttr('status', function ($val) {
                 return isset($this->all_order_return_status[$val]) ? $this->all_order_return_status[$val] : '';
             })
-//            ->withAttr('apply_company', function ($val, $da) {
-//                return get_company_name_by_uid($da['apply_id']);
-//            })
             ->leftJoin('order_out oo', 'oo.outCode=or.outCode')
             ->leftJoin('order_addr oa', 'oa.id=oo.addrid')
             ->leftJoin('result_info ri', 'ri.result_code=or.error_code')
@@ -1578,9 +1567,6 @@ class SaleReport extends Base
             ->withAttr('status', function ($val) {
                 return isset($this->order_back_status[$val]) ? $this->order_back_status[$val] : '';
             })
-//            ->withAttr('apply_company', function ($val, $da) {
-//                return get_company_name_by_uid($da['apply_id']);
-//            })
             ->leftJoin('order_out oo', 'oo.outCode=ob.outCode')
             ->leftJoin('order_addr oa', 'oa.id=oo.addrid')
             ->leftJoin('result_info ri', 'ri.result_code=ob.return_code')
@@ -1637,13 +1623,12 @@ class SaleReport extends Base
             ->alias('thd')
             ->field('thd.id,thd.th_type,thd.addtime 退货时间,thd.thCode 退货单号,"" 发货申请单编码,"" 退货单状态,"" 创建人,"" 部门,thd.orderCode 确认单编号,s.addtime 下单日期,"" 客户名称,s.good_name 产品名称,s.sale_price 单价,s.wsend_num 未发货数量,s.th_num 退货数量,s.th_fee 退货销售货款,"" 发货单联系人,"" 发货单联系人电话,"" 发货单地址,"" 退货原因,s.customer_code')
             ->leftJoin('sale s', 's.orderCode=thd.orderCode')
-//            ->leftJoin('customer_info c', 'c.companyNo=s.customer_code')
             ->where($where)
             ->order('thd.addtime', 'desc')
             ->select()
             ->toArray();
 
-        $th_types = [];
+	    $th_types = ["1"=>[],"2"=>[],"3"=>[]];
         foreach ($data as $value) {
             $th_types[$value['th_type']][] = $value['退货单号'];
         }
@@ -2004,27 +1989,17 @@ class SaleReport extends Base
         $count = Db::name('order_out')
             ->alias('a')
             ->leftJoin("sale b", "b.orderCode=a.orderCode")
-//            ->leftJoin("customer_info v", "v.companyNo=b.customer_code")
             ->leftJoin("order_send os", "os.outCode=a.outCode")
-//            ->leftJoin("business bus", "bus.companyNo=b.supplierNo")
-//            ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
-//            ->leftJoin("company_item ci", "ci.id=u.itemid")
             ->leftJoin("purchease_order d", "d.cgdNo=os.cgdNo")
-//            ->leftJoin("supplier e", "e.code=d.supplierNo")->where($where)
             ->order("a.addtime desc")
             ->count('a.id');
 
         $data = Db::name('order_out')
             ->alias('a')
-            ->field('a.addtime,a.orderCode,os.cgdNo,"" company,a.apply_name,a.apply_id,a.status,a.send_num,b.good_code,b.good_name,"" companyName,b.wsend_num,b.skuCode,b.order_type,""person,b.customer_code,b.supplierNo companyNo,d.supplierNo')
+            ->field('a.addtime,a.orderCode,os.cgdNo,"" company,a.apply_name,a.apply_id,a.status,a.send_num,b.good_code,b.good_name,"" companyName,b.wsend_num,b.skuCode,b.order_type,""person,b.customer_code,b.supplierNo companyNo,b.supNo as supplierNo')
             ->leftJoin("sale b", "b.orderCode=a.orderCode")
-//            ->leftJoin("customer_info v", "v.companyNo=b.customer_code")
             ->leftJoin("order_send os", "os.outCode=a.outCode")
-//            ->leftJoin("business bus", "bus.companyNo=b.supplierNo")
-//            ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
-//            ->leftJoin("company_item ci", "ci.id=u.itemid")
             ->leftJoin("purchease_order d", "d.cgdNo=os.cgdNo")
-//            ->leftJoin("supplier e", "e.code=d.supplierNo")->where($where)
             ->page($param['page'], $param['size'])
             ->order("a.addtime desc")
             ->cursor();
@@ -2033,14 +2008,13 @@ class SaleReport extends Base
 
         $userCommon = \app\admin\common\User::getIns();
         foreach ($data as $value) {
-            if (!isset($tmp_apply[$value['apply_id']])) $tmp_apply[$value['apply_id']] = $value['apply_id'];// get_company_name_by_uid($value['apply_id']);
-//            $value['apply_company'] = $tmp_apply[$value['apply_id']];
+            if (!isset($tmp_apply[$value['apply_id']])) $tmp_apply[$value['apply_id']] = $value['apply_id'];
             if (!isset($tmp_codes[$value['customer_code']])) $tmp_codes[$value['customer_code']] = $value['customer_code'];
             if (!isset($tmp_codes[$value['companyNo']])) $tmp_codes[$value['companyNo']] = $value['companyNo'];
 
             if (!isset($tmp_person[$value['supplierNo']])) {
                 $tmp = $userCommon->handle('sInfo', ['code' => $value['supplierNo']]);
-                $tmp_person[$value['supplierNo']] = $tmp['data']['person'];
+                $tmp_person[$value['supplierNo']] = $tmp['data']['person']??"";
             }
             $value['person'] = $tmp_person[$value['supplierNo']];
 
@@ -2075,7 +2049,7 @@ class SaleReport extends Base
         foreach ($list as &$val) {
             $val['companyName'] = $names['data'][$val['customer_code']] ?? '';
             $val['company'] = $names['data'][$val['companyNo']] ?? '';
-            $value['apply_company'] = $apply_company[$val['apply_id']] ?? '';
+            $val['apply_company'] = $apply_company[$val['apply_id']] ?? '';
         }
 
         unset($tmp_apply);
@@ -2101,15 +2075,13 @@ class SaleReport extends Base
 
         $data = Db::name('order_out')
             ->alias('a')
-            ->field('a.addtime 下单时间,a.orderCode 订单编号,os.cgdNo 采购单编号,"" 公司名称,a.apply_name 申请人,"" 部门,a.apply_id,a.status 状态,a.send_num 出库总数,"" 商品分类,b.good_code 商品编码,b.good_name 商品名称,"" 客户名称,b.wsend_num 未发货数量,"" 应发货日期,b.skuCode,b.order_type 订单类型,"" 采购员,b.customer_code,b.supplierNo companyNo,d.supplierNo')
+            ->field('a.addtime 下单时间,a.orderCode 订单编号,os.cgdNo 采购单编号,"" 公司名称,a.apply_name 申请人,"" 部门,a.apply_id,a.status 状态,a.send_num 出库总数,"" 商品分类,b.good_code 商品编码,b.good_name 商品名称,"" 客户名称,b.wsend_num 未发货数量,"" 应发货日期,b.skuCode,b.order_type 订单类型,"" 采购员,b.customer_code,b.supplierNo companyNo,b.supNo as supplierNo')
             ->leftJoin("sale b", "b.orderCode=a.orderCode")
-//            ->leftJoin("customer_info v", "v.companyNo=b.customer_code")
+
             ->leftJoin("order_send os", "os.outCode=a.outCode")
-//            ->leftJoin("business bus", "bus.companyNo=b.supplierNo")
-//            ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
-//            ->leftJoin("company_item ci", "ci.id=u.itemid")
+
             ->leftJoin("purchease_order d", "d.cgdNo=os.cgdNo")
-//            ->leftJoin("supplier e", "e.code=d.supplierNo")
+
             ->where($where)
             ->order("a.addtime desc")
             ->cursor();
@@ -2122,11 +2094,11 @@ class SaleReport extends Base
             if (!isset($tmp_codes[$value['companyNo']])) $tmp_codes[$value['companyNo']] = $value['companyNo'];
 
             if (!isset($tmp_apply[$value['apply_id']])) $tmp_apply[$value['apply_id']] = $value['apply_id'];// get_company_name_by_uid($value['apply_id']);
-//            $value['部门'] = $tmp_apply[$value['apply_id']];
+
 
             if (!isset($tmp_person[$value['supplierNo']])) {
                 $tmp = $userCommon->handle('sInfo', ['code' => $value['supplierNo']]);
-                $tmp_person[$value['supplierNo']] = $tmp['data']['person'];
+                $tmp_person[$value['supplierNo']] = $tmp['data']['person']??"";
             }
             $value['采购员'] = $tmp_person[$value['supplierNo']];
 
@@ -2344,7 +2316,7 @@ class SaleReport extends Base
             ->alias('a')
             ->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")
+            ->leftJoin("company_item ci", "ci.id=u.itemid and ci.is_del=0 and ci.status=1")
             ->where($where)
             ->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(IFNULL(b.receipt_quantity,0)) ')
@@ -2372,7 +2344,7 @@ class SaleReport extends Base
             ->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(IFNULL(b.receipt_quantity,0)) ) as  not_addr_address_good_num,"" person')
             ->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")
+            ->leftJoin("company_item ci", "ci.id=u.itemid and ci.is_del=0 and ci.status=1")
             ->withAttr('person', function ($val, $da) use ($cgd) {
                 return $cgd[$da['orderCode']] ?? '';
             })

+ 1 - 2
app/command/ImportOrderFromCHandleData.php

@@ -98,8 +98,7 @@ class ImportOrderFromCHandleData extends Command
             ->findOrEmpty();
         if (empty($tmp)) throw new \Exception('平台不存在');
         if ($tmp['status'] != 1) throw new \Exception('平台已禁用');
-//	    if($tmp['is_select_pay_rate']==1 && channel_is_company($extend_data['platform_id'],$supplierNo))
-//	    	throw new \Exception("平台渠道含有{$supplier['company']}");
+	    if($tmp['is_select_pay_rate']==1 && channel_is_company($extend_data['platform_id'],$supplierNo))throw new \Exception("平台渠道含有{$supplier['company']}");
                 $platform_order = $extend_data['platform_code'];
                 $good_num = $extend_data['num'];
                 $arrtime = $extend_data['platform_time'];

+ 5 - 6
app/command/InterMakeOrder.php

@@ -60,10 +60,9 @@ class InterMakeOrder extends Command
         $payinfo = Db::name("platform")->where(["id"=> $param['platform_id'],"is_del"=>0])->findOrEmpty();
             if (empty($payinfo)) throw new \Exception("未找到平台信息");
             if ($payinfo['status'] != 1) throw new \Exception("平台信息已禁用");
-//            if($payinfo['is_select_pay_rate']==1){
-//	            $supplierArr = Db::name("platform_pay_rate")->where(["platform_id" => $param['platform_id'], "status" => 1, "is_del" => 0])->column("companyNo");
-//	            if (in_array($param['companyNo'], $supplierArr)) throw new \Exception("平台支付渠道含有该业务公司,平台无法使用!");
-//            }
+            if($payinfo['is_select_pay_rate']==1 && channel_is_company($param['platform_id'],$param['companyNo'])){
+				throw new \Exception("渠道还有供应商业务公司");
+            }
 		$supplierinfo = $userCommon->handle("hqInfo",["code"=>$param['supplierNo']]);
 		if(!isset($supplierinfo['data'])|| empty($supplierinfo['data']))throw new \Exception("未找到供应商数据");
 		$person =$supplierinfo['data']['child']??["person"=>'',"person_id"=>0];
@@ -83,7 +82,7 @@ class InterMakeOrder extends Command
             "good_type" => 1,
             "origin_price" => $param['cgd_price'],
             "sale_price" => $param['sale_price'],
-            "total_price" => round($param['sale_price'] * $param['good_num'], 2),
+            "total_price" =>$param['sale_total'] ,
             "post_fee" => 0,
             "is_diff" => 0,
             "is_activity" => 0,
@@ -131,7 +130,7 @@ class InterMakeOrder extends Command
             "good_name" => $param['good_name'],
             "good_num" => $param['good_num'],
             "good_price" => $param['cgd_price'],
-            "total_fee" => round($param['cgd_price'] * $param['good_num'], 2),
+            "total_fee" => $param['cgd_total'] ,
             "supplierNo" => $param['supplierNo'],
             "supplier_name" =>$param['supplierName'],
             "companyNo" => $param['companyNo'],

+ 1 - 1
app/command/handleYzOrderData.php

@@ -155,7 +155,7 @@ class handleYzOrderData extends Command
                     "good_code" => $spuCode,
                     "skuCode" => $skuCode,
                     "customer_code" => $customer_code,
-                    "customer_name" => $ct['name'] . '客户',
+                    "customerName" => $ct['name'] . '客户',
                     "good_name" => isset($goodinfo['good_name']) && $goodinfo['good_name'] !== '' ? $goodinfo['good_name'] : '',
                     "good_num" => $good_num,
                     "cat_id" => $goodinfo['cat_id'],

+ 1 - 19
app/common.php

@@ -1272,25 +1272,7 @@ if (!function_exists('get_company_name_by_uid')) {
 
         //为了兼容旧的数据格式
         if(is_array($uid)) return $rs['data'];
-        else return $rs['data'][$uid];
-
-//        $rs = '';
-//        $key = 'get_company_name_by_uid_' . $uid.'_'.$get_tops;
-//
-//        if ($cache) $rs = \think\facade\Cache::get($key);
-//
-//        if (empty($rs)) {
-//
-//            $itemid = Db::name('depart_user')->where(['is_del' => 0, 'uid' => $uid])->value('itemid', 0);
-//
-//            if ($get_tops) $rs = implode('/', array_column(GetPart($itemid), 'name'));
-//            else $rs = Db::name('company_item')->where(['is_del' => 0, 'id' => $itemid])->value('name');
-//
-//            \think\facade\Cache::set($key, $rs, 3600);
-//        }
-//
-//        return $rs;
-
+        else return $rs['data'][$uid]??[];
     }
 }
 

+ 2 - 3
app/youzan/logic/Cat.php

@@ -18,9 +18,8 @@ class Cat
 
         $key = self::$cache_key . (string)$parent_cid;
 
-//        $rs = Cache::get($key);
-        $rs=[];
-        if (empty($rs)) {
+        $rs = Cache::get($key);
+        if (empty($rs) || $rs==false) {
 
             $rs = YzCat::field('id,rule_id yz_cat_id,name yz_cat_name,parent_id parent_cid,level,has_children')//id,yz_cat_id,yz_cat_name,parent_cid
                 ->where('status', YzCat::$status_normal)