|
@@ -735,7 +735,6 @@ class Report extends Base
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
//【四、售后报表】列表
|
|
|
public function orderReturnList()
|
|
|
{
|
|
@@ -760,29 +759,154 @@ class Report extends Base
|
|
|
$all_status = [2 => '业务主管审核', 3 => '采购主管审核', 6 => '业务驳回', 7 => '采购驳回', 8 => '取消'];
|
|
|
|
|
|
//总数
|
|
|
- $total = Db::name('order_return')
|
|
|
+ $count = Db::name('order_return')
|
|
|
->alias('or')
|
|
|
->leftJoin('order_num on', 'on.orderCode=or.orderCode')
|
|
|
->leftJoin('purchease_order po', 'po.cgdNo=on.cgdNo AND po.is_del=0')
|
|
|
->where($where)
|
|
|
->count('or.id');
|
|
|
|
|
|
- $data = Db::name('order_return')
|
|
|
+ $list = Db::name('order_return')
|
|
|
->alias('or')
|
|
|
- ->field('or.id,or.returnCode,or.addtime,on.cgdNo,po.supplierNo,po.supplier_name,or.good_name,or.total_num, "" 签收日期,"" 提出售后日期,or.error_num,or.error_remark,or.status')
|
|
|
+ ->field('or.id,or.returnCode,or.addtime,on.cgdNo,po.supplierNo,po.supplier_name,or.good_name,or.total_num, oo.updatetime receipttime ,or.error_num,or.error_remark,ri.result error_reason,or.status')
|
|
|
->leftJoin('order_num on', 'on.orderCode=or.orderCode')
|
|
|
->leftJoin('purchease_order po', 'po.cgdNo=on.cgdNo AND po.is_del=0')
|
|
|
+ ->leftJoin('order_out oo', 'oo.outCode=or.outCode AND oo.status=3')
|
|
|
+ ->leftJoin('result_info ri', 'ri.result_code=or.error_code')
|
|
|
->where($where)
|
|
|
->withAttr('status', function ($val) use ($all_status) {
|
|
|
- return isset($all_status[$val]) ? $all_status[$val] : '';
|
|
|
+ return isset($all_status[$val]) ? $all_status[$val] : $val;
|
|
|
})
|
|
|
->page($param['page'], $param['size'])
|
|
|
->select()
|
|
|
->toArray();
|
|
|
|
|
|
- return app_show(0, '请求成功', ['list' => $data, 'total' => $total]);
|
|
|
+ return app_show(0, '请求成功', ['list' => $list, 'count' => $count]);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //【四、售后报表】导出
|
|
|
+ public function orderReturnListExport()
|
|
|
+ {
|
|
|
+ $param = $this->request->only([
|
|
|
+ 'token',
|
|
|
+ 'start_date' => '',
|
|
|
+ 'end_date' => '',
|
|
|
+ ], 'post', 'trim');
|
|
|
+
|
|
|
+ $val_params = Validate::rule([
|
|
|
+ 'start_date' => 'date|elt:end_date',
|
|
|
+ 'end_date' => 'date',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
+
|
|
|
+ $where = [];
|
|
|
+ if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['or.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
|
+
|
|
|
+ $all_status = [2 => '业务主管审核', 3 => '采购主管审核', 6 => '业务驳回', 7 => '采购驳回', 8 => '取消'];
|
|
|
+
|
|
|
+ $list = Db::name('order_return')
|
|
|
+ ->alias('or')
|
|
|
+ ->field('or.returnCode 售后单编号,or.addtime 创建时间,on.cgdNo 采购单编号,po.supplier_name 供应商名称,or.good_name 产品名称,or.total_num 购买数量, oo.updatetime 签收日期,or.error_num 售后数量,or.error_remark 问题描述,ri.result 异常原因,or.status 售后状态')
|
|
|
+ ->leftJoin('order_num on', 'on.orderCode=or.orderCode')
|
|
|
+ ->leftJoin('purchease_order po', 'po.cgdNo=on.cgdNo AND po.is_del=0')
|
|
|
+ ->leftJoin('order_out oo', 'oo.outCode=or.outCode AND oo.status=3')
|
|
|
+ ->leftJoin('result_info ri', 'ri.result_code=or.error_code')
|
|
|
+ ->where($where)
|
|
|
+ ->withAttr('售后状态', function ($val) use ($all_status) {
|
|
|
+ return isset($all_status[$val]) ? $all_status[$val] : $val;
|
|
|
+ })
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ if (empty($list)) $list[] = '没有可供导出的数据';
|
|
|
+
|
|
|
+ $headerArr = array_keys($list[0]);
|
|
|
+ excelSave('售后明细报表' . date('YmdHis'), $headerArr, $list);
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //【五、供应商报表】列表
|
|
|
+ public function supplierList()
|
|
|
+ {
|
|
|
+ $param = $this->request->only([
|
|
|
+ 'token',
|
|
|
+ 'start_date' => '',
|
|
|
+ 'end_date' => '',
|
|
|
+ 'update_start_date' => '',
|
|
|
+ 'update_end_date' => '',
|
|
|
+ 'page' => 1,
|
|
|
+ 'size' => 15,
|
|
|
+ ], 'post', 'trim');
|
|
|
+
|
|
|
+ $val_params = Validate::rule([
|
|
|
+ 'start_date' => 'date|elt:end_date',
|
|
|
+ 'end_date' => 'date',
|
|
|
+ 'update_start_date' => 'date|elt:update_end_date',
|
|
|
+ 'update_end_date' => 'date',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
+
|
|
|
+ $where = [];
|
|
|
+ if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['s.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
|
+ if ($param['update_start_date'] != '' && $param['update_end_date'] != '') $where[] = ['s.updatetime', 'between', [$param['update_start_date'] . ' 00:00:00', $param['update_end_date'] . ' 23:59:59']];
|
|
|
+
|
|
|
+ //总数
|
|
|
+ $count = Db::name('supplier')
|
|
|
+ ->alias('s')
|
|
|
+ ->where($where)
|
|
|
+ ->count('s.id');
|
|
|
+
|
|
|
+ $list = Db::name('supplier')
|
|
|
+ ->alias('s')
|
|
|
+ ->field('s.id,s.addtime,s.name,s.creater,s.nature,s.source,s.pay_type,s.delivery_way,s.updatetime')
|
|
|
+ ->where($where)
|
|
|
+ ->page($param['page'], $param['size'])
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ return app_show(0, '请求成功', ['list' => $list, 'count' => $count]);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //【五、供应商报表】导出
|
|
|
+ public function supplierListExport()
|
|
|
+ {
|
|
|
+ $param = $this->request->only([
|
|
|
+ 'token',
|
|
|
+ 'start_date' => '',
|
|
|
+ 'end_date' => '',
|
|
|
+ 'update_start_date' => '',
|
|
|
+ 'update_end_date' => '',
|
|
|
+ ], 'post', 'trim');
|
|
|
+
|
|
|
+ $val_params = Validate::rule([
|
|
|
+ 'start_date' => 'date|elt:end_date',
|
|
|
+ 'end_date' => 'date',
|
|
|
+ 'update_start_date' => 'date|elt:update_end_date',
|
|
|
+ 'update_end_date' => 'date',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
+
|
|
|
+ $where = [];
|
|
|
+ if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['s.addtime', 'between', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']];
|
|
|
+ if ($param['update_start_date'] != '' && $param['update_end_date'] != '') $where[] = ['s.updatetime', 'between', [$param['update_start_date'] . ' 00:00:00', $param['update_end_date'] . ' 23:59:59']];
|
|
|
+
|
|
|
+ $list = Db::name('supplier')
|
|
|
+ ->alias('s')
|
|
|
+ ->field('s.addtime 录入供应商时间,s.name 供应商名称,s.creater 采购维护人,s.nature 供应商性质,s.source 供应商来源,s.pay_type 付款方式,s.delivery_way 发货方式,s.updatetime 修改供应商时间')
|
|
|
+ ->where($where)
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ if (empty($list)) $list[] = '没有可供导出的数据';
|
|
|
+
|
|
|
+ $headerArr = array_keys($list[0]);
|
|
|
+ excelSave('供应商报表' . date('YmdHis'), $headerArr, $list);
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|