wugg 1 year ago
parent
commit
8b63623f53

+ 19 - 10
app/admin/controller/Consult.php

@@ -1036,6 +1036,8 @@ class Consult extends Base
        if($info==false){
            return error_show(1004,"未找到商品数据");
        }
+       $zx =Db::name("consult_order")->where(['zxNo'=>$info['zxNo'],"is_del"=>0])->find();
+       if($zx==false)  return error_show(1004,"未找到咨询单信息");
         $unit =Db::name("unit")->where(["id"=>$info['unit_id']])->find();
         $info['unit'] = isset($unit['unit'])?$unit['unit']:'';
         $info['cat_info'] = made($info['cat_id'],[]);
@@ -1051,9 +1053,10 @@ class Consult extends Base
             $info["brand_name"]="";
             $info["brand_id"]="";
         }
-        $catinfo = Db::name("cat")->where(["id"=>$info['cat_id']])->find();
+//        $catinfo = Db::name("cat")->where(["id"=>$info['cat_id']])->find();
         $bidinfo = Db::name("consult_info")->where(["infoNo"=>$info["infoNo"]])->find();
-        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+//        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+        $budget = get_budget($info['cat_id'], $zx['companyNo'], $zx['platform_code']);
         $god=[
             "metal_id"=>$info['metal_id'],
             "weight"=>$info["good_weight"],
@@ -1068,7 +1071,7 @@ class Consult extends Base
             "num"=>$bidinfo["num"],
         ];
         if($info['is_gold_price']==1){
-            $price = GoldPrice($god, $budget/100);
+            $price = GoldPrice($god, $budget);
             $info['sale_price'] =round($price,2);
         }
         $info['specinfo'] = json_decode($info['specinfo'],true);
@@ -1909,7 +1912,7 @@ class Consult extends Base
 //        if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) throw new Exception('该供应商不存在');
 		$supplier=$supplier_temp['data']??[];
         foreach ($list as $value){
-            $catinfo = Db::name("cat")->where(["id"=>$value['cat_id']])->find();
+//            $catinfo = Db::name("cat")->where(["id"=>$value['cat_id']])->find();
             $value['can']= isset($value['cat_id']) && $value['cat_id'] !=0 ? made($value['cat_id']):[];
             $unit =Db::name("unit")->where(["id"=>$value['unit_id']])->find();
             $value['unit'] = isset($unit['unit'])?$unit['unit']:'';
@@ -1923,7 +1926,9 @@ class Consult extends Base
                 $value["brand_id"]="";
             }
             $bidinfo = Db::name("consult_info")->where(["infoNo"=>$value["infoNo"]])->find();
-            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+            $zx = Db::name("consult_order")->where(["zxNo"=>$value["zxNo"]])->find();
+             $budget = get_budget($value['cat_id'],$zx['companyNo']??'',$zx['platform_code']??0);
+//            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
                 $god=[
                     "metal_id"=>$value['metal_id'],
                     "weight"=>$value["good_weight"],
@@ -1944,7 +1949,7 @@ class Consult extends Base
             $top_cat_id = isset($top_cat[0]['id'])?$top_cat[0]['id']:0;
 
             if($value['is_gold_price']==1  && $top_cat_id==6 ){
-                $price = GoldPrice($god, $budget/100);
+                $price = GoldPrice($god, $budget);
                 $value['sale_price'] = round($price,2);
                 $value['origin_price'] = $value["sale_cost_fee"]!=$value['origin_cost_fee']? $value["sale_price"]:
                     $value["origin_price"];
@@ -2039,7 +2044,7 @@ class Consult extends Base
 //        if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) throw new Exception('该供应商不存在');
 		$supplier=$supplier_temp['data']??[];
         foreach ($list as $value){
-            $catinfo = Db::name("cat")->where(["id"=>$value['cat_id']])->find();
+//            $catinfo = Db::name("cat")->where(["id"=>$value['cat_id']])->find();
 
             $value['can']= isset($value['cat_id']) && $value['cat_id'] !=0 ? made($value['cat_id']):[];
             $unit =Db::name("unit")->where(["id"=>$value['unit_id']])->find();
@@ -2054,7 +2059,9 @@ class Consult extends Base
                 $value["brand_id"]="";
             }
             $bidinfo = Db::name("consult_info")->where(["infoNo"=>$value["infoNo"]])->find();
-            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+//            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+              $zx = Db::name("consult_order")->where(["zxNo"=>$value["zxNo"]])->find();
+             $budget = get_budget($value['cat_id'],$zx['companyNo']??'',$zx['platform_code']??0);
             $god=[
                 "metal_id"=>$value['metal_id'],
                 "weight"=>$value["good_weight"],
@@ -2176,7 +2183,7 @@ class Consult extends Base
         $page = $page >= $total ? $total : $page;
         $list = Db::name('bargain_order')
             ->alias('bo')
-            ->field('bo.*,b.companyNo,c.num')
+            ->field('bo.*,b.companyNo,c.num,b.platform_code')
             ->leftJoin('consult_order b', 'b.zxNo=bo.zxNo')
             ->leftJoin('consult_info c', 'c.infoNo=bo.infoNo')
             ->where($where)
@@ -2229,7 +2236,9 @@ class Consult extends Base
 //            $unit =Db::name("unit")->where(["id"=>$bidinfos['unit_id']])->find();
             $value['unit'] = $unit[$bidinfos['unit_id']] ?? '';//isset($unit['unit'])?$unit['unit']:'';
 //            $bidinfoe = Db::name("consult_info")->where(["infoNo"=>$value["infoNo"]])->find();
-            $budget = $cat[$bidinfos['cat_id']] ?? 0;//isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+//            $budget = $cat[$bidinfos['cat_id']] ?? 0;//isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
+
+            $budget = get_budget($bidinfos['cat_id'],$value['companyNo']??'',$value['platform_code']??0);
             $value['budget'] = $budget;
             $god = [
                 "metal_id" => $bidinfos['metal_id'],

+ 5 - 6
app/admin/controller/Report.php

@@ -1527,12 +1527,11 @@ class Report extends Base
         $where = [['cl.type', '=', 3]]; //type==3 商品成本变化记录
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['cl.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-//        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $count = Db::name('change_log')
             ->alias('cl')
             ->leftJoin('good_basic gb', 'gb.spuCode=cl.code AND gb.is_del=0')
-//            ->leftJoin('supplier s', 's.code=gb.supplierNo')
             ->where($where)
             ->count('cl.id');
 
@@ -1540,7 +1539,6 @@ class Report extends Base
             ->alias('cl')
             ->field('cl.addtime,gb.createrid,gb.creater,"" company_name,cl.code,gb.good_name,gb.supplierName name,cl.before_info,cl.after_info')
             ->leftJoin('good_basic gb', 'gb.spuCode=cl.code AND gb.is_del=0')
-//            ->leftJoin('supplier s', 's.code=gb.supplierNo')
             ->where($where)
             ->order('cl.addtime', 'desc')
             ->page($param['page'], $param['size'])
@@ -1694,7 +1692,7 @@ class Report extends Base
         $where = [['cl.type', '=', 3]]; //type==3 商品成本变化记录
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['cl.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-//        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+	    if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $data = Db::name('change_log')
             ->alias('cl')
@@ -1938,7 +1936,8 @@ class Report extends Base
         $where = [['gp.is_del', '=', 0]];
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['gp.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-//        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
+
 
         $count = Db::name('good_platform')
             ->alias('gp')
@@ -2026,7 +2025,7 @@ class Report extends Base
         $where = [['gp.is_del', '=', 0]]; //exam_status==6 上线成功
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['gp.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-//        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+	    if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $list = Db::name('good_platform')
             ->alias('gp')

+ 38 - 23
app/admin/controller/ReportByRelaComNo.php

@@ -343,7 +343,7 @@ class ReportByRelaComNo extends Base
 
         $all_supplier_no = array_column($list, 'supplierNo');
 
-        $all_supplier = checkHasAccountBySupplierNos($all_supplier_no);//检查这些供应商账号是否开通账户
+        $all_supplier = checkHasAccountBySupplierNos(array_unique($all_supplier_no) );//检查这些供应商账号是否开通账户
         $all_supplier = array_keys($all_supplier);
 
         $data = [];
@@ -452,13 +452,14 @@ class ReportByRelaComNo extends Base
 //            ->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,cb.supplierName')
             ->field('DATE_FORMAT(cb.addtime,"%Y-%m-%d") addtime,cb.createrid,SUM(c.num) num,COUNT(cb.id) total,"" nickname,"" name,cb.supplierName')
             ->leftJoin('consult_info c', 'c.infoNo=cb.infoNo')
+            ->leftJoin('consult_order d', 'd.zxNo=cb.zxNo')
 //            ->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,cb.supplierName')
-            ->group('addtime,cb.createrid,cb.supplierNo')
-            ->order('addtime desc,du.itemid,ci.name ,cb.createrid,du.nickname')
+            ->group('addtime,cb.createrid,cb.supplierName')
+            ->order('addtime desc,cb.createrid')
 //            ->page($param['page'], $param['size'])
             ->cursor();
 
@@ -493,6 +494,8 @@ class ReportByRelaComNo extends Base
                     'nickname' => $value['nickname'],
                     'num' => '0',
                     'total' => '0',
+                    'relaComNo' => $this->relaComNo,
+                    'relaComName' => $this->relaComName,
                 ];
             }
 
@@ -514,7 +517,7 @@ class ReportByRelaComNo extends Base
             }
         }
 
-        $da[] = ['addtime' => '汇总', 'itemid' => 0, 'createrid' => 0, 'num' => array_sum(array_column($da, 'num')), 'total' => array_sum(array_column($da, 'total')), 'nickname' => '', 'name' => ''];
+        $da[] = ['addtime' => '汇总', 'itemid' => 0, 'createrid' => 0, 'num' => array_sum(array_column($da, 'num')), 'total' => array_sum(array_column($da, 'total')), 'nickname' => '', 'name' => '', 'relaComNo' => $this->relaComNo, 'relaComName' => $this->relaComName];
         return json_show(0, '请求成功', $da);
 
     }
@@ -563,7 +566,7 @@ class ReportByRelaComNo extends Base
 //            ->cursor();
 
         $all_supplier = array_column($rs, 'supplierNo');
-        $has_account = checkHasAccountBySupplierNos($all_supplier);//检查供应商是否开通账号
+        $has_account = checkHasAccountBySupplierNos(array_unique($all_supplier));//检查供应商是否开通账号
 //        $supplier = Db::name('supplier')->whereIn('code', array_keys($has_account))->column('name', 'code');
         $supplier = get_headquarters_code_and_name(array_keys($has_account));
 
@@ -644,7 +647,6 @@ class ReportByRelaComNo extends Base
         if ($param['creater'] != '') $where[] = ['cb.creater', 'like', '%' . $param['creater'] . '%'];
         if ($param['zxNo'] != '') $where[] = ['cb.infoNo', 'like', '%' . $param['zxNo'] . '%'];
 
-
         $count = Db::name('consult_bids')
             ->alias('cb')
             ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo')
@@ -656,7 +658,7 @@ class ReportByRelaComNo extends Base
 
         $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,"" companyName,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')
@@ -675,8 +677,10 @@ class ReportByRelaComNo extends Base
 
         //获取所有创建人的部门
         $item_name = get_company_name_by_uid(array_unique(array_merge(array_column($data, 'createrid'), array_column($data, 'saleid'))));
+        $names = get_headquarters_code_and_name(array_unique(array_column($data,'khNo')));
 
         foreach ($data as &$value) {
+            $value['companyName'] = $names[$value['khNo']] ?? '';
             $value['name'] = $item_name[$value['createrid']] ?? '';
             $value['salesman_name'] = $item_name[$value['saleid']] ?? '';
             $value['relaComNo'] = $this->relaComNo;
@@ -748,22 +752,25 @@ class ReportByRelaComNo 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 业务人员,"" 业务人员所属部门,"" 客户名称,cb.createrid,co.saleid,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')
+//            ->leftJoin('supplier s', 's.code=cb.supplierNo')
+//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
             ->select()
             ->toArray();
 
         $item_name = get_company_name_by_uid(array_unique(array_merge(array_column($data, 'createrid'), array_column($data, 'saleid'))));
+        $names = get_headquarters_code_and_name(array_unique(array_column($data,'khNo')));
 
         $list = [];
         foreach ($data as $value) {
+            $value['客户名称'] = $names[$value['khNo']] ?? '';
             $value['采购员所属部门'] = $item_name[$value['createrid']] ?? '';
             $value['业务人员所属部门'] = $item_name[$value['saleid']] ?? '';
             unset($value['createrid']);
             unset($value['saleid']);
+            unset($value['khNo']);
             $value['业务公司编码'] = $this->relaComNo;
             $value['业务公司名称'] = $this->relaComName;
             $list[] = $value;
@@ -804,7 +811,10 @@ class ReportByRelaComNo 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['companyName'] != '') $where[] = ['csi.companyName', 'like', '%' . $param['companyName'] . '%'];
         if ($param['start_updatetime'] != '' && $param['end_updatetime'] != '') $where[] = ['ci.updatetime', 'between', [$param['start_updatetime'] . ' 00:00:00', $param['end_updatetime'] . ' 23:59:59']];
-
+	    if ($param['companyName'] != ''){
+		    $kh = Db::connect("mysql_sys")->name("customer_info")->where("companyName","like","%{$param['companyName']}%")->column("companyNo");
+		    $where[] = ['co.khNo', 'in',$kh];
+	    };
         $status = [1 => '招标进行中', 2 => '招标已结束', 3 => '等待议价结果', 4 => '确认商品', 5 => '成功转单', 6 => '取消转单', 7 => '招标已暂停'];
 
         $count = Db::name('consult_info')
@@ -822,7 +832,6 @@ class ReportByRelaComNo extends Base
             ->field('ci.infoNo zxNo,ci.good_name,ci.num,"" companyName,ci.addtime,ci.arrival_time endtime,ci.updatetime,ci.status,co.khNo')
             ->leftJoin('consult_bids cb', 'cb.infoNo=ci.infoNo')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
-//            ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo')
             ->where($where)
             ->whereNull('cb.id')//未采反,即咨询单没有对应的反馈单,所以反馈单id应该是null
             ->order('ci.arrival_time', 'desc')
@@ -869,7 +878,10 @@ class ReportByRelaComNo extends Base
         $where = [['ci.is_del', '=', 0], ['co.companyNo', '=', $this->relaComNo]];
 
         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['companyName'] != '') $where[] = ['csi.companyName', 'like', '%' . $param['companyName'] . '%'];
+	    if ($param['companyName'] != ''){
+		    $kh = Db::connect("mysql_sys")->name("customer_info")->where("companyName","like","%{$param['companyName']}%")->column("companyNo");
+		    $where[] = ['co.khNo', 'in',$kh];
+	    };
         if ($param['start_updatetime'] != '' && $param['end_updatetime'] != '') $where[] = ['ci.updatetime', 'between', [$param['start_updatetime'] . ' 00:00:00', $param['end_updatetime'] . ' 23:59:59']];
 
         $status = [1 => '招标进行中', 2 => '招标已结束', 3 => '等待议价结果', 4 => '确认商品', 5 => '成功转单', 6 => '取消转单', 7 => '招标已暂停'];
@@ -1015,7 +1027,7 @@ class ReportByRelaComNo extends Base
 
         if (!$val_params->check($param)) return json_show(1004, $val_params->getError());
 
-        $where = [['po.is_del', '=', 0], ['po.companyNo', '=', $this->relaComNo]];
+        $where = [['po.is_del', '=', 0], ['po.order_type','<>',1],['po.companyNo', '=', $this->relaComNo]];
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['po.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['status'] != '') $where[] = ['po.status', '=', $param['status']];
 
@@ -1320,6 +1332,8 @@ class ReportByRelaComNo extends Base
 //            ->where($where)
 //            ->order('s.addtime desc')
 //            ->cursor();
+        $param['start'] = $param['start_date'];
+        $param['end'] = $param['end_date'];
         $param['size'] = PHP_INT_MAX;
 
         $list = \app\admin\common\User::getIns()->handle('sGetList', $param);
@@ -1489,10 +1503,11 @@ class ReportByRelaComNo extends Base
 
         if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
 
-        $where = [['s.is_del', '=', 0], ['gp.exam_status', '=', 6], ['gb.companyNo', '=', $this->relaComNo]]; //exam_status==6 上线成功
+        $where = [['gp.is_del', '=', 0], ['gp.exam_status', '=', 3], ['gb.companyNo', '=', $this->relaComNo]];
+        //exam_status==6 上线成功
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['gp.online_time', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];//当上面状态确定为exam_status==6时,上线时间也可以取 updatetime
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $count = Db::name('good_platform')
             ->alias('gp')
@@ -1733,7 +1748,7 @@ class ReportByRelaComNo extends Base
         $where = [['cl.type', '=', 3], ['gb.companyNo', '=', $this->relaComNo]]; //type==3 商品成本变化记录
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['cl.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-//        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $count = Db::name('change_log')
             ->alias('cl')
@@ -1904,7 +1919,7 @@ class ReportByRelaComNo extends Base
         $where = [['cl.type', '=', 3], ['gb.companyNo', '=', $this->relaComNo]]; //type==3 商品成本变化记录
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['cl.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-//        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $data = Db::name('change_log')
             ->alias('cl')
@@ -2145,10 +2160,10 @@ class ReportByRelaComNo extends Base
 
         if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
 
-        $where = [['s.is_del', '=', 0], ['gb.companyNo', '=', $this->relaComNo]];
+        $where = [['gp.is_del', '=', 0], ['gb.companyNo', '=', $this->relaComNo]];
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['gp.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+         if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $count = Db::name('good_platform')
             ->alias('gp')
@@ -2235,14 +2250,14 @@ class ReportByRelaComNo extends Base
 
         if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
 
-        $where = [['s.is_del', '=', 0], ['gb.companyNo', '=', $this->relaComNo]]; //exam_status==6 上线成功
+        $where = [['gp.is_del', '=', 0], ['gb.companyNo', '=', $this->relaComNo]]; //exam_status==6 上线成功
         if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['gp.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
         if ($param['creater'] != '') $where[] = ['gb.creater', 'like', '%' . $param['creater'] . '%'];
-        if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
+         if ($param['supplier_name'] != '') $where[] = ['gb.supplierName', 'like', '%' . $param['supplier_name'] . '%'];
 
         $list = Db::name('good_platform')
             ->alias('gp')
-            ->field('gp.skuCode as 商品上线编号,gp.spuCode as 商品成本编号,gp.plat_code as 平台商品编码,gb.good_name as 商品名称,b.brand_name as 品牌名称,gb.cat_id as 分类,gb.gb.companyNo as 业务公司编码,gb.companyName as 业务公司名称,gb.creater as 采购员,p.platform_name as 上线平台,gp.online_time as 上线完成时间,gp.exam_status as 上下线状态,gb.is_stock as 是否库存品,gb.good_type as 是否定制,"" as 规格,"" as 型号,u.unit as 单位,gb.good_remark as 商品备注,gb.craft_desc as 工艺说明,gb.noble_metal as 贵金属信息,gb.cgd_gold_price as 供应商采购金价,gb.demo_fee as 打样费,gb.open_fee as 开模费,gb.sample_fee as 调样费,gb.tax as 税点,gb.supply_area as 供货区域,gb.supplierName as 供应商名称,gp.addtime 申请上线时间')
+            ->field('gp.skuCode as 商品上线编号,gp.spuCode as 商品成本编号,gp.plat_code as 平台商品编码,gb.good_name as 商品名称,b.brand_name as 品牌名称,gb.cat_id as 分类,gb.companyNo as 业务公司编码,gb.companyName as 业务公司名称,gb.creater as 采购员,p.platform_name as 上线平台,gp.online_time as 上线完成时间,gp.exam_status as 上下线状态,gb.is_stock as 是否库存品,gb.good_type as 是否定制,"" as 规格,"" as 型号,u.unit as 单位,gb.good_remark as 商品备注,gb.craft_desc as 工艺说明,gb.noble_metal as 贵金属信息,gb.cgd_gold_price as 供应商采购金价,gb.demo_fee as 打样费,gb.open_fee as 开模费,gb.sample_fee as 调样费,gb.tax as 税点,gb.supply_area as 供货区域,gb.supplierName as 供应商名称,gp.addtime 申请上线时间')
             ->leftJoin('good_basic gb', 'gb.spuCode=gp.spuCode AND gb.is_del=0')
             ->leftJoin('brand b', 'b.id=gb.brand_id')
             ->leftJoin('unit u', 'u.id=gb.good_unit')

+ 114 - 122
app/admin/controller/SaleReport.php

@@ -2674,9 +2674,13 @@ class SaleReport extends Base
             ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
             ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
             ->where($where)
-            ->cursor();
-        $list = $tmp = [];
+	        ->group("a.supplierNo,a.supplier_name,a.order_type,p.use_type,a.order_source")
+	        ->field("a.supplierNo,a.supplier_name,a.order_type,p.use_type,a.order_source,count(a.id) as total_cgd")
+	        ->select()
+	        ->toArray();
+        $list = [];
         $total = ['supplier_name' => '总计', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0];
+
         foreach ($data as $val) {
 
             if (!isset($list[$val['supplierNo']])) {
@@ -2695,21 +2699,21 @@ class SaleReport extends Base
                 case 1:
                     //库存品
                     if ($val['order_source'] == 0) {
-                        $list[$val['supplierNo']]['tag_1']++;
-                        $total['tag_1']++;
+                        $list[$val['supplierNo']]['tag_1']+=$val['total_cgd'];
+                        $total['tag_1']+=$val['total_cgd'];
                     }
                     break;
 
                 case 2:
                     //非库存品
-                    $list[$val['supplierNo']]['tag_2']++;
-                    $total['tag_2']++;
+                    $list[$val['supplierNo']]['tag_2']+=$val['total_cgd'];
+                    $total['tag_2']+=$val['total_cgd'];
 
                 case 3:
                     //咨询采反
                     if ($val['order_source'] == 2) {
-                        $list[$val['supplierNo']]['tag_zx']++;
-                        $total['tag_zx']++;
+                        $list[$val['supplierNo']]['tag_zx']+=$val['total_cgd'];
+                        $total['tag_zx']+=$val['total_cgd'];
                     }
                     break;
             }
@@ -2717,30 +2721,28 @@ class SaleReport extends Base
             switch ($val['use_type']) {
                 case 1:
                     //to B
-                    $list[$val['supplierNo']]['tag_b']++;
-                    $total['tag_b']++;
+                    $list[$val['supplierNo']]['tag_b']+=$val['total_cgd'];
+                    $total['tag_b']+=$val['total_cgd'];
                     break;
 
                 case 2:
                     //to C
-                    $list[$val['supplierNo']]['tag_c']++;
-                    $total['tag_c']++;
+                    $list[$val['supplierNo']]['tag_c']+=$val['total_cgd'];
+                    $total['tag_c']+=$val['total_cgd'];
                     break;
             }
 
-            $list[$val['supplierNo']]['total_cgd']++;
-            $total['total_cgd']++;
+            $list[$val['supplierNo']]['total_cgd']+=$val['total_cgd'];
+            $total['total_cgd']+=$val['total_cgd'];
 
         }
 
 //        $list = array_merge($list);//重置下标,关联数组,下标是字符,无法通过array_merge方法重置下标
+	    $list[] =$total;
 
-        foreach ($list as $value) {
-            $tmp[] = $value;
-        }
-        $tmp[] = $total;
 
-        return app_show(0, '请求成功', $tmp);
+
+        return app_show(0, '请求成功', array_values($list));
 
     }
 
@@ -2762,7 +2764,10 @@ class SaleReport extends Base
             ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
             ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
             ->where($where)
-            ->cursor();
+	        ->group("a.supplierNo,a.supplier_name,a.order_type,p.use_type,a.order_source")
+	        ->field("a.supplierNo,a.supplier_name,a.order_type,p.use_type,a.order_source,count(a.id) as total_cgd")
+	        ->select()
+	        ->toArray();
         $list = $tmp = [];
         $total = ['采购方' => '总计', '订单总量' => 0, '库存品' => 0, '非库存品' => 0, 'toC' => 0, 'toB' => 0, '反馈单数合计' => 0];
         foreach ($data as $val) {
@@ -2783,22 +2788,22 @@ class SaleReport extends Base
                 case 1:
                     //库存品
                     if ($val['order_source'] == 0) {
-                        $list[$val['supplierNo']]['库存品']++;
-                        $total['库存品']++;
+                        $list[$val['supplierNo']]['库存品']+=$val['total_cgd'];
+                        $total['库存品']+=$val['total_cgd'];
                     }
                     break;
 
                 case 2:
                     //非库存品
-                    $list[$val['supplierNo']]['非库存品']++;
-                    $total['非库存品']++;
+                    $list[$val['supplierNo']]['非库存品']+=$val['total_cgd'];
+                    $total['非库存品']+=$val['total_cgd'];
                     break;
 
                 case 3:
                     //咨询采反
                     if ($val['order_source'] == 2) {
-                        $list[$val['supplierNo']]['反馈单数合计']++;
-                        $total['反馈单数合计']++;
+                        $list[$val['supplierNo']]['反馈单数合计']+=$val['total_cgd'];
+                        $total['反馈单数合计']+=$val['total_cgd'];
                     }
                     break;
             }
@@ -2806,19 +2811,19 @@ class SaleReport extends Base
             switch ($val['use_type']) {
                 case 1:
                     //to B
-                    $list[$val['supplierNo']]['toB']++;
-                    $total['toB']++;
+                    $list[$val['supplierNo']]['toB']+=$val['total_cgd'];
+                    $total['toB']+=$val['total_cgd'];
                     break;
 
                 case 2:
                     //to C
-                    $list[$val['supplierNo']]['toC']++;
-                    $total['toC']++;
+                    $list[$val['supplierNo']]['toC']+=$val['total_cgd'];
+                    $total['toC']+=$val['total_cgd'];
                     break;
             }
 
-            $list[$val['supplierNo']]['订单总量']++;
-            $total['订单总量']++;
+            $list[$val['supplierNo']]['订单总量']+=$val['total_cgd'];
+            $total['订单总量']+=$val['total_cgd'];
 
         }
 
@@ -2850,79 +2855,65 @@ class SaleReport extends Base
 
         $data = Db::name('purchease_order')
             ->alias('a')
-            ->field('a.id,a.supplierNo,a.supplier_name,a.order_type,a.order_source,p.use_type,c.personid,c.person')
-            ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
-            ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
-            ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
-            ->leftJoin("supplier c", "c.code=a.supplierNo AND c.is_del=0")
-            ->where($where)
-            ->cursor();
-
+			->where($where)
+	        ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
+	        ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
+	        ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
+			->group("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source")
+			->field("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source,count(a.id) as total_cgd")
+			->select()
+			->toArray();
+//        var_dump($data);
         $list = [];
         $total = ['person' => '总计', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0, 'tag_else' => 0];
+        $list[]=&$total;
         foreach ($data as $val) {
+        	if(!isset($list[$val['cgder_id']]))$list[$val['cgder_id']]=['person' => '', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0, 'tag_else' => 0];
+			$list[$val['cgder_id']]['person']=$val['cgder'];
+			$list[$val['cgder_id']]['total_cgd']+=$val['total_cgd'];
+	        switch ($val['order_type']) {
+		        case 1:
+			        //库存品
+			        $list[$val['cgder_id']]['tag_1']+=$val['total_cgd'];
+			        $total['tag_1']+=$val['total_cgd'];
+			        break;
+		        case 2:
+			        //非库存品
+			        $list[$val['cgder_id']]['tag_2']+=$val['total_cgd'];
+			        $total['tag_2']+=$val['total_cgd'];
+			        break;
+
+		        case 3:
+			        //咨询采反
+			        if ($val['order_source'] == 2) {
+				        $list[$val['cgder_id']]['tag_zx']+=$val['total_cgd'];
+				        $total['tag_zx']+=$val['total_cgd'];
+			        } else {
+				        $list[$val['cgder_id']]['tag_else']+=$val['total_cgd'];
+				        $total['tag_else']+=$val['total_cgd'];
+			        }
+			        break;
+	        }
 
-            if (!isset($list[$val['personid']])) {
-                $list[$val['personid']] = [
-                    'person' => $val['person'],
-                    'total_cgd' => 0,//订单总量
-                    'tag_1' => 0,//库存品
-                    'tag_2' => 0,//非库存品
-                    'tag_c' => 0,//to C
-                    'tag_b' => 0,//to B
-                    'tag_zx' => 0,//咨询采反总数
-                    'tag_else' => 0,//采销录单采反
-                ];
-            }
-
-            switch ($val['order_type']) {
-                case 1:
-                    //库存品
-                    if ($val['order_source'] == 0) {
-                        $list[$val['personid']]['tag_1']++;
-                        $total['tag_1']++;
-                    }
-                    break;
-                case 2:
-                    //非库存品
-                    $list[$val['personid']]['tag_2']++;
-                    $total['tag_2']++;
-                    break;
-
-                case 3:
-                    //咨询采反
-                    if ($val['order_source'] == 2) {
-                        $list[$val['personid']]['tag_zx']++;
-                        $total['tag_zx']++;
-                    } else {
-                        $list[$val['personid']]['tag_else']++;
-                        $total['tag_else']++;
-                    }
-                    break;
-            }
-
-            switch ($val['use_type']) {
-                case 1:
-                    //to B
-                    $list[$val['personid']]['tag_b']++;
-                    $total['tag_b']++;
-                    break;
-
-                case 2:
-                    //to C
-                    $list[$val['personid']]['tag_c']++;
-                    $total['tag_c']++;
-                    break;
-            }
-
-            $list[$val['personid']]['total_cgd']++;
-            $total['total_cgd']++;
-
+	        switch ($val['use_type']) {
+		        case 1:
+			        //to B
+			        $list[$val['cgder_id']]['tag_b']+=$val['total_cgd'];
+			        $total['tag_b']+=$val['total_cgd'];
+			        break;
+
+		        case 2:
+			        //to C
+			        $list[$val['cgder_id']]['tag_c']+=$val['total_cgd'];
+			        $total['tag_c']+=$val['total_cgd'];
+			        break;
+	        }
+	        $total['total_cgd'] +=$val['total_cgd'];
         }
 
-        $list = array_merge($list);//重置下标,关联数组,下标是字符,无法通过array_merge方法重置下标
-
-        $list[] = $total;
+//        $list = array_merge($list);//重置下标,关联数组,下标是字符,无法通过array_merge方法重置下标
+	    $list=array_values($list);
+//        $list[] = $total;
 
         return app_show(0, '请求成功', $list);
 
@@ -2950,22 +2941,23 @@ class SaleReport extends Base
             else $where[] = ['a.supplierNo', 'not in', array_keys($has_sup_acc)];//2.未开通账号的
         }
 
-        $data = Db::name('purchease_order')
-            ->alias('a')
-            ->field('a.id,a.supplierNo,a.supplier_name,a.order_type,a.order_source,p.use_type,c.personid,c.person')
-            ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
-            ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
-            ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
-            ->leftJoin("supplier c", "c.code=a.supplierNo AND c.is_del=0")
-            ->where($where)
-            ->cursor();
+	    $data = Db::name('purchease_order')
+	              ->alias('a')
+	              ->where($where)
+	              ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
+	              ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
+	              ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
+	              ->group("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source")
+	              ->field("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source,count(a.id) as total_cgd")
+	              ->select()
+	              ->toArray();
         $list = [];
         $total = ['采购方' => '总计', '订单总量' => 0, '库存品' => 0, '非库存品' => 0, 'toC' => 0, 'toB' => 0, '反馈单数合计' => 0, '采销录单采反' => 0];
         foreach ($data as $val) {
 
             if (!isset($list[$val['personid']])) {
-                $list[$val['personid']] = [
-                    '采购方' => $val['person'],
+                $list[$val['cgder_id']] = [
+                    '采购方' => $val['cgder'],
                     '订单总量' => 0,//订单总量
                     '库存品' => 0,//库存品
                     '非库存品' => 0,//非库存品
@@ -2980,16 +2972,16 @@ class SaleReport extends Base
                 case 1:
                     //库存品
                     if ($val['order_source'] == 0) {
-                        $list[$val['personid']]['库存品']++;
-                        $total['库存品']++;
+                        $list[$val['cgder_id']]['库存品']+=$val['total_cgd'];
+                        $total['库存品']+=$val['total_cgd'];
                     }
 
                     break;
 
                 case 2:
                     //非库存品
-                    $list[$val['personid']]['非库存品']++;
-                    $total['非库存品']++;
+                    $list[$val['cgder_id']]['非库存品']+=$val['total_cgd'];
+                    $total['非库存品']+=$val['total_cgd'];
                     break;
 
                 case 3:
@@ -2997,8 +2989,8 @@ class SaleReport extends Base
                     if ($val['order_source'] == 2) {
 
                     } else {
-                        $list[$val['personid']]['采销录单采反']++;
-                        $total['采销录单采反']++;
+                        $list[$val['cgder_id']]['采销录单采反']+=$val['total_cgd'];
+                        $total['采销录单采反']+=$val['total_cgd'];
                     }
 
                     break;
@@ -3007,19 +2999,19 @@ class SaleReport extends Base
             switch ($val['use_type']) {
                 case 1:
                     //to B
-                    $list[$val['personid']]['toB']++;
-                    $total['toB']++;
+                    $list[$val['cgder_id']]['toB']+=$val['total_cgd'];
+                    $total['toB']+=$val['total_cgd'];
                     break;
 
                 case 2:
                     //to C
-                    $list[$val['personid']]['toC']++;
-                    $total['toC']++;
+                    $list[$val['cgder_id']]['toC']+=$val['total_cgd'];
+                    $total['toC']+=$val['total_cgd'];
                     break;
             }
 
-            $list[$val['personid']]['订单总量']++;
-            $total['订单总量']++;
+            $list[$val['cgder_id']]['订单总量']+=$val['total_cgd'];
+            $total['订单总量']+=$val['total_cgd'];
 
         }
 

+ 72 - 92
app/admin/controller/SaleReportByRelaComNo.php

@@ -3011,82 +3011,64 @@ class SaleReportByRelaComNo extends Base
 
         $data = Db::name('purchease_order')
             ->alias('a')
-            ->field('a.id,a.supplierNo,a.supplier_name,a.order_type,a.order_source,p.use_type,c.personid,c.person')
-            ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
-            ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
-            ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
-            ->leftJoin("supplier c", "c.code=a.supplierNo AND c.is_del=0")
             ->where($where)
-            ->cursor();
+            ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
+	        ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
+	        ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
+			->group("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source")
+			->field("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source,count(a.id) as total_cgd")
+			->select()
+			->toArray();
 
         $list = [];
         $total = ['person' => '总计', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0, 'tag_else' => 0];
+        $list[]=&$total;
         foreach ($data as $val) {
-
-            if (!isset($list[$val['personid']])) {
-                $list[$val['personid']] = [
-                    'person' => $val['person'],
-                    'total_cgd' => 0,//订单总量
-                    'tag_1' => 0,//库存品
-                    'tag_2' => 0,//非库存品
-                    'tag_c' => 0,//to C
-                    'tag_b' => 0,//to B
-                    'tag_zx' => 0,//咨询采反总数
-                    'tag_else' => 0,//采销录单采反
-                    $value['relaComNo'] = $this->relaComNo,
-                    $value['relaComName'] = $this->relaComName,
-                ];
-            }
-
-            switch ($val['order_type']) {
-                case 1:
-                    //库存品
-                    if ($val['order_source'] == 0) {
-                        $list[$val['personid']]['tag_1']++;
-                        $total['tag_1']++;
-                    }
-                    break;
-                case 2:
-                    //非库存品
-                    $list[$val['personid']]['tag_2']++;
-                    $total['tag_2']++;
-                    break;
-
-                case 3:
-                    //咨询采反
-                    if ($val['order_source'] == 2) {
-                        $list[$val['personid']]['tag_zx']++;
-                        $total['tag_zx']++;
-                    } else {
-                        $list[$val['personid']]['tag_else']++;
-                        $total['tag_else']++;
-                    }
-                    break;
-            }
-
-            switch ($val['use_type']) {
-                case 1:
-                    //to B
-                    $list[$val['personid']]['tag_b']++;
-                    $total['tag_b']++;
-                    break;
-
-                case 2:
-                    //to C
-                    $list[$val['personid']]['tag_c']++;
-                    $total['tag_c']++;
-                    break;
-            }
-
-            $list[$val['personid']]['total_cgd']++;
-            $total['total_cgd']++;
-
+        	if(!isset($list[$val['cgder_id']]))$list[$val['cgder_id']]=['person' => '', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0, 'tag_else' => 0];
+			$list[$val['cgder_id']]['person']=$val['cgder'];
+			$list[$val['cgder_id']]['total_cgd']+=$val['total_cgd'];
+	        switch ($val['order_type']) {
+		        case 1:
+			        //库存品
+			        $list[$val['cgder_id']]['tag_1']+=$val['total_cgd'];
+			        $total['tag_1']+=$val['total_cgd'];
+			        break;
+		        case 2:
+			        //非库存品
+			        $list[$val['cgder_id']]['tag_2']+=$val['total_cgd'];
+			        $total['tag_2']+=$val['total_cgd'];
+			        break;
+
+		        case 3:
+			        //咨询采反
+			        if ($val['order_source'] == 2) {
+				        $list[$val['cgder_id']]['tag_zx']+=$val['total_cgd'];
+				        $total['tag_zx']+=$val['total_cgd'];
+			        } else {
+				        $list[$val['cgder_id']]['tag_else']+=$val['total_cgd'];
+				        $total['tag_else']+=$val['total_cgd'];
+			        }
+			        break;
+	        }
+
+	        switch ($val['use_type']) {
+		        case 1:
+			        //to B
+			        $list[$val['cgder_id']]['tag_b']+=$val['total_cgd'];
+			        $total['tag_b']+=$val['total_cgd'];
+			        break;
+
+		        case 2:
+			        //to C
+			        $list[$val['cgder_id']]['tag_c']+=$val['total_cgd'];
+			        $total['tag_c']+=$val['total_cgd'];
+			        break;
+	        }
+	        $total['total_cgd'] +=$val['total_cgd'];
         }
 
-        $list = array_merge($list);//重置下标,关联数组,下标是字符,无法通过array_merge方法重置下标
-
-        $list[] = $total;
-
+//        $list = array_merge($list);//重置下标,关联数组,下标是字符,无法通过array_merge方法重置下标
+	    $list=array_values($list);
         return app_show(0, '请求成功', $list);
 
     }
@@ -3115,20 +3097,20 @@ class SaleReportByRelaComNo extends Base
 
         $data = Db::name('purchease_order')
             ->alias('a')
-            ->field('a.id,a.supplierNo,a.supplier_name,a.order_type,a.order_source,p.use_type,c.personid,c.person')
-            ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
-            ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
-            ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
-            ->leftJoin("supplier c", "c.code=a.supplierNo AND c.is_del=0")
-            ->where($where)
-            ->cursor();
+           ->leftJoin("order_num b", "b.cgdNo=a.cgdNo")
+	              ->leftJoin("sale s", "s.orderCode=b.orderCode AND s.is_del=0")
+	              ->leftJoin("platform p", "p.id=s.platform_id AND p.is_del=0")
+	              ->group("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source")
+	              ->field("a.cgder_id,a.cgder,a.order_type,p.use_type,a.order_source,count(a.id) as total_cgd")
+	              ->select()
+	              ->toArray();
         $list = [];
         $total = ['采购方' => '总计', '订单总量' => 0, '库存品' => 0, '非库存品' => 0, 'toC' => 0, 'toB' => 0, '反馈单数合计' => 0, '采销录单采反' => 0];
         foreach ($data as $val) {
 
             if (!isset($list[$val['personid']])) {
-                $list[$val['personid']] = [
-                    '采购方' => $val['person'],
+                $list[$val['cgder_id']] = [
+                    '采购方' => $val['cgder'],
                     '订单总量' => 0,//订单总量
                     '库存品' => 0,//库存品
                     '非库存品' => 0,//非库存品
@@ -3136,8 +3118,6 @@ class SaleReportByRelaComNo extends Base
                     'toB' => 0,//to B
                     '反馈单数合计' => 0,//咨询采反总数
                     '采销录单采反' => 0,//采销录单采反
-                    $value['业务公司编码'] = $this->relaComNo,
-                    $value['业务公司名称'] = $this->relaComName,
                 ];
             }
 
@@ -3145,16 +3125,16 @@ class SaleReportByRelaComNo extends Base
                 case 1:
                     //库存品
                     if ($val['order_source'] == 0) {
-                        $list[$val['personid']]['库存品']++;
-                        $total['库存品']++;
+                        $list[$val['cgder_id']]['库存品']+=$val['total_cgd'];
+                        $total['库存品']+=$val['total_cgd'];
                     }
 
                     break;
 
                 case 2:
                     //非库存品
-                    $list[$val['personid']]['非库存品']++;
-                    $total['非库存品']++;
+                    $list[$val['cgder_id']]['非库存品']+=$val['total_cgd'];
+                    $total['非库存品']+=$val['total_cgd'];
                     break;
 
                 case 3:
@@ -3162,8 +3142,8 @@ class SaleReportByRelaComNo extends Base
                     if ($val['order_source'] == 2) {
 
                     } else {
-                        $list[$val['personid']]['采销录单采反']++;
-                        $total['采销录单采反']++;
+                        $list[$val['cgder_id']]['采销录单采反']+=$val['total_cgd'];
+                        $total['采销录单采反']+=$val['total_cgd'];
                     }
 
                     break;
@@ -3172,19 +3152,19 @@ class SaleReportByRelaComNo extends Base
             switch ($val['use_type']) {
                 case 1:
                     //to B
-                    $list[$val['personid']]['toB']++;
-                    $total['toB']++;
+                    $list[$val['cgder_id']]['toB']+=$val['total_cgd'];
+                    $total['toB']+=$val['total_cgd'];
                     break;
 
                 case 2:
                     //to C
-                    $list[$val['personid']]['toC']++;
-                    $total['toC']++;
+                    $list[$val['cgder_id']]['toC']+=$val['total_cgd'];
+                    $total['toC']+=$val['total_cgd'];
                     break;
             }
 
-            $list[$val['personid']]['订单总量']++;
-            $total['订单总量']++;
+            $list[$val['cgder_id']]['订单总量']+=$val['total_cgd'];
+            $total['订单总量']+=$val['total_cgd'];
 
         }