Просмотр исходного кода

Merge branch 'version1.5' of wugg/phpstock into master-online

wufeng 2 лет назад
Родитель
Сommit
c18324db3b
2 измененных файлов с 128 добавлено и 23 удалено
  1. 118 15
      app/admin/controller/SaleReport.php
  2. 10 8
      app/admin/route/app.php

+ 118 - 15
app/admin/controller/SaleReport.php

@@ -179,7 +179,7 @@ class SaleReport extends Base
 
     }
 
-    //【一、管理报表】2.咨询单报表
+    //【一、管理报表】2.竞价反馈报表
     public function consultInfo()
     {
         $param = $this->request->only([
@@ -205,7 +205,7 @@ class SaleReport extends Base
 
         $data = Db::name('consult_info')
             ->alias('ci')
-            ->field('co.creater,ci.addtime,ci.zxNo,csi.companyName,ci.good_name,ci.num,u.unit,ci.budget_price,cb.id bid_id,ci.status,csi.itemid,co.createrid')
+            ->field('co.creater,ci.addtime,ci.infoNo,cb.bidNo,csi.companyName,ci.good_name,ci.num,u.unit,ci.budget_price,cb.id bid_id,ci.status,csi.itemid,co.createrid')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
             ->leftJoin('unit u', 'u.id=ci.unit')
             ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
@@ -215,17 +215,19 @@ class SaleReport extends Base
             ->order('ci.addtime', 'desc')
             ->cursor();
 
-        $list = [];
+        $list = $customer_tmp = $company_tmp = [];
         foreach ($data as $value) {
             $value['total_fee'] = round($value['budget_price'] * $value['num'], 2);
             $value['is_bids'] = is_null($value['bid_id']) ? '否' : '是';
             $value['is_zhuandan'] = $value['status'] == 5 ? '是' : '否';//5成功转单
             if (!empty($value['itemid'])) {
-                $customer_org1 = array_column(get_top_customer_org($value['itemid']), 'name', 'level');
-                $value['first_customer_org'] = isset($customer_org1[1]) ? $customer_org1[1] : '';
-                $value['second_customer_org'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
+                if (!isset($customer_tmp[$value['itemid']])) $customer_tmp[$value['itemid']] = array_column(get_top_customer_org($value['itemid']), 'name', 'level');
+                $value['first_customer_org'] = isset($customer_tmp[$value['itemid']][1]) ? $customer_tmp[$value['itemid']][1] : '';
+                $value['second_customer_org'] = isset($customer_tmp[$value['itemid']][2]) ? $customer_tmp[$value['itemid']][2] : '';
             }
-            $value['creater_company'] = get_company_name_by_uid($value['createrid']);//获取创建人的所属部门
+
+            if (!isset($company_tmp[$value['createrid']])) $company_tmp[$value['createrid']] = get_company_name_by_uid($value['createrid']);//获取创建人的所属部门
+            $value['creater_company'] = $company_tmp[$value['createrid']] ?? '';
             $list[] = $value;
         }
 
@@ -233,7 +235,7 @@ class SaleReport extends Base
 
     }
 
-    //【一、管理报表】2.咨询单报表_导出
+    //【一、管理报表】2.竞价反馈报表_导出
     public function consultInfoExport()
     {
         $param = $this->request->only(['token', 'start_date' => '', 'end_date' => ''], 'post', 'trim');
@@ -243,7 +245,7 @@ class SaleReport extends Base
 
         $data = Db::name('consult_info')
             ->alias('ci')
-            ->field('co.creater 创建人,"" 创建人所属部门,ci.addtime 咨询时间,ci.zxNo 咨询单号,"" 一级企业,"" 二级企业,csi.companyName 客户名称,ci.good_name 商品名称,ci.num 数量,u.unit 单位,ci.budget_price 单价, "" 金额,cb.id 是否采反,ci.status 是否转单,csi.itemid,co.createrid')
+            ->field('co.creater 创建人,"" 创建人部门,ci.addtime 竞价时间,ci.infoNo 竞价单号,cb.bidNo 反馈编号,"" 一级企业,"" 二级企业,csi.companyName 客户名称,ci.good_name 产品名称,ci.num 数量,u.unit 单位,ci.budget_price 单价, "" 金额,cb.id 是否采反,ci.status 是否转单,csi.itemid,co.createrid')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
             ->leftJoin('unit u', 'u.id=ci.unit')
             ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
@@ -252,17 +254,18 @@ class SaleReport extends Base
             ->order('ci.addtime', 'desc')
             ->cursor();
 
-        $list = [];
+        $list = $customer_tmp = $company_tmp = [];
         foreach ($data as $value) {
-            $value['创建人所属部门'] = get_company_name_by_uid($value['createrid']);//获取创建人的所属部门
+            if (!isset($company_tmp[$value['createrid']])) $company_tmp[$value['createrid']] = get_company_name_by_uid($value['createrid']);//获取创建人的所属部门
+            $value['创建人部门'] = $company_tmp[$value['createrid']] ?? '';
             $value['金额'] = round($value['单价'] * $value['数量'], 2);
             $value['是否采反'] = is_null($value['是否采反']) ? '否' : '是';
             $value['是否转单'] = $value['是否转单'] == 5 ? '是' : '否';//5成功转单
 
             if (!empty($value['itemid'])) {
-                $customer_org1 = array_column(get_top_customer_org($value['itemid']), 'name', 'level');
-                $value['一级企业'] = isset($customer_org1[1]) ? $customer_org1[1] : '';
-                $value['二级企业'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
+                if (!isset($customer_tmp[$value['itemid']])) $customer_tmp[$value['itemid']] = array_column(get_top_customer_org($value['itemid']), 'name', 'level');
+                $value['一级企业'] = isset($customer_tmp[$value['itemid']][1]) ? $customer_tmp[$value['itemid']][1] : '';
+                $value['二级企业'] = isset($customer_tmp[$value['itemid']][2]) ? $customer_tmp[$value['itemid']][2] : '';
             }
 
             unset($value['createrid']);
@@ -273,7 +276,107 @@ class SaleReport extends Base
 
         if (empty($list)) $list[] = ['没有相关可导出的数据'];
 
-        excelSave('咨询单报表' . date('YmdHis'), array_keys($list[0]), $list);
+        excelSave('竞价反馈报表' . date('YmdHis'), array_keys($list[0]), $list);
+
+    }
+
+    //【一、管理报表】2.1.竞价单报表
+    public function consultInfoNew()
+    {
+        $param = $this->request->only([
+            'token',
+            'start_date' => '',
+            'end_date' => '',
+            'page' => 1,
+            'size' => 15,
+        ], 'post', 'trim');
+
+        $where = [['ci.is_del', '=', 0]];
+        if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['ci.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
+
+        $count = Db::name('consult_info')
+            ->alias('ci')
+            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
+            ->leftJoin('unit u', 'u.id=ci.unit')
+            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
+            ->where($where)
+            ->order('ci.addtime', 'desc')
+            ->count('ci.id');
+
+        $data = Db::name('consult_info')
+            ->alias('ci')
+            ->field('co.creater,ci.addtime,ci.infoNo,csi.companyName,ci.good_name,ci.num,u.unit,ci.budget_price,ci.status,csi.itemid,co.createrid')
+            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
+            ->leftJoin('unit u', 'u.id=ci.unit')
+            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
+            ->where($where)
+            ->page($param['page'], $param['size'])
+            ->order('ci.addtime', 'desc')
+            ->cursor();
+
+        $list = $customer_tmp = $company_tmp = [];
+        foreach ($data as $value) {
+            $value['total_fee'] = round($value['budget_price'] * $value['num'], 2);
+            $value['is_zhuandan'] = $value['status'] == 5 ? '是' : '否';//5成功转单
+            if (!empty($value['itemid'])) {
+                if (!isset($customer_tmp[$value['itemid']])) $customer_tmp[$value['itemid']] = array_column(get_top_customer_org($value['itemid']), 'name', 'level');
+                $value['first_customer_org'] = isset($customer_tmp[$value['itemid']][1]) ? $customer_tmp[$value['itemid']][1] : '';
+                $value['second_customer_org'] = isset($customer_tmp[$value['itemid']][2]) ? $customer_tmp[$value['itemid']][2] : '';
+            }
+
+            if (!isset($company_tmp[$value['createrid']])) $company_tmp[$value['createrid']] = get_company_name_by_uid($value['createrid']);//获取创建人的所属部门
+            $value['creater_company'] = $company_tmp[$value['createrid']] ?? '';
+            $list[] = $value;
+        }
+
+        return app_show(0, '请求成功', ['list' => $list, 'count' => $count]);
+
+    }
+
+    //【一、管理报表】2.1.竞价单报表_导出
+    public function consultInfoNewExport()
+    {
+        $param = $this->request->only([
+            'token',
+            'start_date' => '',
+            'end_date' => '',
+        ], 'post', 'trim');
+
+        $where = [['ci.is_del', '=', 0]];
+        if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['ci.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
+
+        $data = Db::name('consult_info')
+            ->alias('ci')
+            ->field('co.creater 创建人,"" 创建人部门,ci.addtime 竞价时间,ci.infoNo 竞价单号,"" 一级企业,"" 二级企业,csi.companyName 客户名称,ci.good_name 产品名称,ci.num 数量,u.unit 单位,ci.budget_price 单价, "" 金额,ci.status 是否转单,csi.itemid,co.createrid')
+            ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
+            ->leftJoin('unit u', 'u.id=ci.unit')
+            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
+            ->where($where)
+            ->order('ci.addtime', 'desc')
+            ->cursor();
+
+        $list = $customer_tmp = $company_tmp = [];
+        foreach ($data as $value) {
+            if (!isset($company_tmp[$value['createrid']])) $company_tmp[$value['createrid']] = get_company_name_by_uid($value['createrid']);//获取创建人的所属部门
+            $value['创建人部门'] = $company_tmp[$value['createrid']] ?? '';
+            $value['金额'] = round($value['单价'] * $value['数量'], 2);
+            $value['是否转单'] = $value['是否转单'] == 5 ? '是' : '否';//5成功转单
+
+            if (!empty($value['itemid'])) {
+                if (!isset($customer_tmp[$value['itemid']])) $customer_tmp[$value['itemid']] = array_column(get_top_customer_org($value['itemid']), 'name', 'level');
+                $value['一级企业'] = isset($customer_tmp[$value['itemid']][1]) ? $customer_tmp[$value['itemid']][1] : '';
+                $value['二级企业'] = isset($customer_tmp[$value['itemid']][2]) ? $customer_tmp[$value['itemid']][2] : '';
+            }
+
+            unset($value['createrid']);
+            unset($value['itemid']);
+
+            $list[] = $value;
+        }
+
+        if (empty($list)) $list[] = ['没有相关可导出的数据'];
+        
+        excelSave('竞价单报表' . date('YmdHis'), array_keys($list[0]), $list);
 
     }
 

+ 10 - 8
app/admin/route/app.php

@@ -566,8 +566,10 @@ Route::rule('dnTodayTransferOrder', 'admin/Data/dnTodayTransferOrder');//【新
 //前端报表
 Route::rule('saleexportconsultday', 'admin/SaleReport/consultDay');//管理报表-日报
 Route::rule('saleexportconsultdayexport', 'admin/SaleReport/consultDayExport');//管理报表-日报-导出
-Route::rule('saleexportconsultinfo', 'admin/SaleReport/consultInfo');//管理报表-咨询单报表
-Route::rule('saleexportconsultinfoexport', 'admin/SaleReport/consultInfoExport');//管理报表-咨询单报表-导出
+Route::rule('saleexportconsultinfo', 'admin/SaleReport/consultInfo');//管理报表-竞价反馈报表
+Route::rule('saleexportconsultinfoexport', 'admin/SaleReport/consultInfoExport');//管理报表-竞价反馈报表-导出
+Route::rule('srcin', 'admin/SaleReport/consultInfoNew');//管理报表-竞价报表
+Route::rule('srcine', 'admin/SaleReport/consultInfoNewExport');//管理报表-竞价报表-导出
 Route::rule('saleexportlist', 'admin/SaleReport/saleList');//管理报表-订单报表
 Route::rule('saleexport', 'admin/SaleReport/saleExport');//管理报表-订单报表-导出
 Route::rule('saleexportnotout', 'admin/SaleReport/saleNotOut');//管理报表-未发货报表
@@ -648,9 +650,9 @@ route::rule('filingDetail', 'admin/Filing/detail');//详情
 route::rule('filingStatus', 'admin/Filing/status');//审核
 
 
-route::rule("payadd","admin/Pay/create");//支付渠道新建
-route::rule("payedit","admin/Pay/save");//支付渠道编辑
-route::rule("paylist","admin/Pay/list");//支付渠道列表
-route::rule("payinfo","admin/Pay/info");//支付渠道详情
-route::rule("paystatus","admin/Pay/status");//支付渠道状态
-route::rule("payquery","admin/Pay/query");//支付渠道所有数据
+route::rule("payadd", "admin/Pay/create");//支付渠道新建
+route::rule("payedit", "admin/Pay/save");//支付渠道编辑
+route::rule("paylist", "admin/Pay/list");//支付渠道列表
+route::rule("payinfo", "admin/Pay/info");//支付渠道详情
+route::rule("paystatus", "admin/Pay/status");//支付渠道状态
+route::rule("payquery", "admin/Pay/query");//支付渠道所有数据