|
@@ -384,7 +384,7 @@ class Report extends Base
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
'zxNo' => [],
|
|
|
- 'start_date' =>'',
|
|
|
+ 'start_date' => '',
|
|
|
'end_date' => '',
|
|
|
'page' => 1,
|
|
|
'size' => 15,
|
|
@@ -403,13 +403,13 @@ class Report extends Base
|
|
|
->alias('cb')
|
|
|
->where('cb.is_del', 0);
|
|
|
|
|
|
- if ($param['start_date']!='' && $param['end_date']!='') $rs->whereBetween('cb.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
|
|
|
+ if ($param['start_date'] != '' && $param['end_date'] != '') $rs->whereBetween('cb.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
|
|
|
if (!empty($param['zxNo'])) $rs->whereIn('cb.zxNo', $param['zxNo']);
|
|
|
|
|
|
if ($param['is_export'] == 1) {
|
|
|
$data = $rs
|
|
|
->field('ci.addtime as 咨询时间,cb.bidNo as 采购单反馈单号,cb.zxNo 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 客户名称')
|
|
|
- ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
+ ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo AND ci.is_del=0')
|
|
|
->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
->leftJoin('supplier s', 's.code=cb.supplierNo AND s.is_del=0')
|
|
|
->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
@@ -428,7 +428,7 @@ class Report extends Base
|
|
|
|
|
|
$data = $rs
|
|
|
->field('cb.id,ci.addtime,cb.bidNo,cb.zxNo,cb.addtime cbaddtime,cb.good_name,s.name supplier,cb.total_fee,cb.delivery_day,cb.work_day,cb.expire_day,cb.creater,ci.num,ci.arrival_time,co.salesman,csi.companyName')
|
|
|
- ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
+ ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo AND ci.is_del=0')
|
|
|
->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
->leftJoin('supplier s', 's.code=cb.supplierNo AND s.is_del=0')
|
|
|
->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
@@ -465,7 +465,7 @@ class Report extends Base
|
|
|
|
|
|
$rs = Db::name('consult_bids')
|
|
|
->alias('cb')
|
|
|
- ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
+ ->leftJoin('consult_info ci', 'ci.infoNo=cb.infoNo AND ci.is_del=0')
|
|
|
->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
|
->where('cb.is_del', 0)
|
|
@@ -531,36 +531,88 @@ class Report extends Base
|
|
|
if ($param['status'] != '') $rs->where('po.status', '=', $param['status']);
|
|
|
|
|
|
$all_status = ['待与供应商确认', '待入库', '部分入库', '入库完成', '已取消订单'];
|
|
|
+ $all_send_status = [1 => '未发货', 2 => '部分发货', 3 => '已发货'];
|
|
|
|
|
|
if ($param['is_export'] == 1) {
|
|
|
- $data = $rs
|
|
|
- ->field('po.cgdNo 采购单编号,po.addtime 创建时间,po.supplierNo 供应商编号,po.supplier_name 供应商名称,po.good_name 产品名称,po.good_num 购买数量,po.nake_fee 裸价,po.total_fee 成本合计,po.status 单据状态,po.wsend_num 未发货数量,"" 创建人,b.company 客户名称,po.cgder 采购员,"" 发货时间')
|
|
|
- ->withAttr('单据状态', function ($val) use ($all_status) {
|
|
|
- return isset($all_status[$val]) ? $all_status[$val] : '';
|
|
|
- })
|
|
|
- ->select()
|
|
|
- ->toArray();
|
|
|
+ $data = Db::name('purchease_order')
|
|
|
+ ->alias('po')
|
|
|
+ ->field('po.cgdNo 采购单编号,po.addtime 创建时间,po.supplierNo 供应商编号,po.supplier_name 供应商名称,po.good_name 产品名称,po.good_num 购买数量,po.nake_fee 裸价,po.total_fee 成本合计,po.status 单据状态,po.send_status 发货状态,po.wsend_num 未发货数量,"" 创建人,b.company 客户名称,po.cgder 采购员,"" 发货时间,on.orderCode,po.order_type,po.bkcode,po.spuCode')
|
|
|
+ ->leftJoin('business b', 'b.companyNo=po.companyNo AND b.is_del=0')
|
|
|
+ ->leftJoin('order_num on', 'on.cgdNo=po.cgdNo')
|
|
|
+ ->cursor();
|
|
|
|
|
|
- if (empty($data)) return error_show(1005, '没有可供导出的数据');
|
|
|
+ $list = [];
|
|
|
+
|
|
|
+ foreach ($data as $v) {
|
|
|
+
|
|
|
+ //单据状态
|
|
|
+ $v['单据状态'] = isset($all_status[$v['单据状态']]) ? $all_status[$v['单据状态']] : '';
|
|
|
+
|
|
|
+ //发货状态
|
|
|
+ $v['发货状态'] = isset($all_send_status[$v['发货状态']]) ? $all_send_status[$v['发货状态']] : '';
|
|
|
+
|
|
|
+ //创建人//order_type==1备库单
|
|
|
+ if ($v['order_type'] == 1) $v['创建人'] = Db::name('purchease')->where(['bk_code' => $v['bkcode'], 'spuCode' => $v['spuCode'], 'is_del' => 0])->value('apply_name', '');
|
|
|
+ else $v['创建人'] = Db::name('sale')->where(['orderCode' => $v['orderCode'], 'is_del' => 0])->value('apply_name', '');
|
|
|
+
|
|
|
+ //创建时间
|
|
|
+ $v['发货时间'] = Db::name('order_out')
|
|
|
+ ->where(['orderCode' => $v['orderCode']])
|
|
|
+ ->order('addtime', 'desc')
|
|
|
+ ->value('addtime');
|
|
|
+
|
|
|
+ unset($v['orderCode']);
|
|
|
+ unset($v['order_type']);
|
|
|
+ unset($v['bkcode']);
|
|
|
+ unset($v['spuCode']);
|
|
|
+
|
|
|
+ $list[] = $v;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (empty($list)) return error_show(1005, '没有可供导出的数据');
|
|
|
else {
|
|
|
- $headerArr = array_keys($data[0]);
|
|
|
- excelSave('订单明细报表' . date('YmdHis'), $headerArr, $data);
|
|
|
+ $headerArr = array_keys($list[0]);
|
|
|
+ excelSave('订单明细报表' . date('YmdHis'), $headerArr, $list);
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- $total = $rs->count('po.id');
|
|
|
+ $total = Db::name('purchease_order')
|
|
|
+ ->alias('po')
|
|
|
+ ->leftJoin('business b', 'b.companyNo=po.companyNo AND b.is_del=0')
|
|
|
+ ->count('po.id');
|
|
|
|
|
|
- $data = $rs
|
|
|
- ->field('po.cgdNo,po.addtime,po.supplierNo,po.supplier_name,po.good_name,po.good_num,po.nake_fee,po.total_fee,po.status,po.wsend_num,"" 创建人,b.company,po.cgder,"" 发货时间')
|
|
|
- ->withAttr('status', function ($val) use ($all_status) {
|
|
|
- return isset($all_status[$val]) ? $all_status[$val] : '';
|
|
|
- })
|
|
|
+ $data = Db::name('purchease_order')
|
|
|
+ ->alias('po')
|
|
|
+ ->field('po.cgdNo,po.addtime,po.supplierNo,po.supplier_name,po.good_name,po.good_num,po.nake_fee,po.total_fee,po.status,po.send_status,po.wsend_num,"" creater,b.company,po.cgder,"" send_time,on.orderCode,po.order_type,po.bkcode,po.spuCode')
|
|
|
+ ->leftJoin('business b', 'b.companyNo=po.companyNo AND b.is_del=0')
|
|
|
+ ->leftJoin('order_num on', 'on.cgdNo=po.cgdNo')
|
|
|
->page($param['page'], $param['size'])
|
|
|
- ->select()
|
|
|
- ->toArray();
|
|
|
+ ->cursor();
|
|
|
|
|
|
- return app_show(0, '请求成功', ['list' => $data, 'total' => $total]);
|
|
|
+ $list = [];
|
|
|
+ foreach ($data as $v) {
|
|
|
+
|
|
|
+ //单据状态
|
|
|
+ $v['status'] = isset($all_status[$v['status']]) ? $all_status[$v['status']] : '';
|
|
|
+
|
|
|
+ //发货状态
|
|
|
+ $v['send_status'] = isset($all_send_status[$v['send_status']]) ? $all_send_status[$v['send_status']] : '';
|
|
|
+
|
|
|
+ //创建人//order_type==1备库单
|
|
|
+ if ($v['order_type'] == 1) $v['creater'] = Db::name('purchease')->where(['bk_code' => $v['bkcode'], 'spuCode' => $v['spuCode'], 'is_del' => 0])->value('apply_name', '');
|
|
|
+ else $v['creater'] = Db::name('sale')->where(['orderCode' => $v['orderCode'], 'is_del' => 0])->value('apply_name', '');
|
|
|
+
|
|
|
+ //创建时间
|
|
|
+ $v['send_time'] = Db::name('order_out')
|
|
|
+ ->where(['orderCode' => $v['orderCode']])
|
|
|
+ ->order('addtime', 'desc')
|
|
|
+ ->value('addtime');
|
|
|
+
|
|
|
+ $list[] = $v;
|
|
|
+ }
|
|
|
+
|
|
|
+ return app_show(0, '请求成功', ['list' => $list, 'total' => $total]);
|
|
|
|
|
|
}
|
|
|
|