|
@@ -375,13 +375,11 @@ class Report extends Base
|
|
|
$data = [];
|
|
|
foreach ($list as $value) {
|
|
|
$bumen=get_company_name_by_uid([$value['createrid']]);
|
|
|
-// var_dump($bumen,get_company_name_by_uid([$value['createrid']]));
|
|
|
$value['name'] = $bumen[$value['createrid']]??'供应商';
|
|
|
if ($value['name'] == '供应商') {
|
|
|
$data[] = $value;
|
|
|
continue;
|
|
|
}
|
|
|
-// $value['name'] = $bumen[$value['createrid']]??'供应商';
|
|
|
if (!isset($data[$value['addtime']][$value['name']][$value['nickname']])) {
|
|
|
$data[$value['addtime']][$value['name']][$value['nickname']] = [
|
|
|
'addtime' => $value['addtime'],
|
|
@@ -422,8 +420,6 @@ class Report extends Base
|
|
|
'token',
|
|
|
'start_date' => '',
|
|
|
'end_date' => '',
|
|
|
-// 'page' => 1,
|
|
|
-// 'size' => 15
|
|
|
], 'post', 'trim');
|
|
|
|
|
|
$val_params = Validate::rule([
|
|
@@ -438,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) {
|
|
@@ -471,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',
|
|
@@ -533,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'] . '%'];
|
|
|
|
|
@@ -542,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']] ?? '';
|
|
|
}
|
|
|
|
|
|
//汇总
|
|
@@ -635,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;
|
|
|
}
|