|
@@ -40,7 +40,21 @@ class refill_refundControl extends SystemControl
|
|
|
$merchants[$value['mchid']] = $value;
|
|
|
}
|
|
|
|
|
|
- $refund_list = $mod->getRefillRefundList($condition,50);
|
|
|
+ if($_GET['export'] == 1) {
|
|
|
+ $this->RefillRefundExport($condition,$providers,$merchants);
|
|
|
+ }else{
|
|
|
+ $refund_list = $mod->getRefillRefundList($condition,50);
|
|
|
+ $refund_list = $this->DataFormat($refund_list,$providers,$merchants);
|
|
|
+ }
|
|
|
+
|
|
|
+ Tpl::output('provider_list', $providers);
|
|
|
+ Tpl::output('merchants', $merchants);
|
|
|
+ Tpl::output('info_list', $refund_list);
|
|
|
+ Tpl::showpage('refill.refund');
|
|
|
+ }
|
|
|
+
|
|
|
+ private function DataFormat($refund_list,$providers,$merchants)
|
|
|
+ {
|
|
|
foreach ($refund_list as $key => $value) {
|
|
|
$refund_list[$key]['provider_name'] = $providers[$value['provider_id']]['name'];
|
|
|
$refund_list[$key]['store_name'] = $providers[$value['provider_id']]['store_name'];
|
|
@@ -50,10 +64,70 @@ class refill_refundControl extends SystemControl
|
|
|
|
|
|
$refund_list[$key]['card_type_text'] = $this->scard_type($value['card_type']);
|
|
|
}
|
|
|
- Tpl::output('provider_list', $providers);
|
|
|
- Tpl::output('merchants', $merchants);
|
|
|
- Tpl::output('info_list', $refund_list);
|
|
|
- Tpl::showpage('refill.refund');
|
|
|
+ return $refund_list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private function RefillRefundExport($condition,$providers,$merchants)
|
|
|
+ {
|
|
|
+ $i = 0;
|
|
|
+ $result = [];
|
|
|
+ while (true) {
|
|
|
+ $start = $i * 1000;
|
|
|
+ $list = Model('')->table('refill_refund')->where($condition)->order('refund_time desc')->limit("{$start},1000")->select();
|
|
|
+
|
|
|
+ if (empty($list)) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ $i++;
|
|
|
+ foreach ($list as $value) {
|
|
|
+ $result[] = $value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $result = $this->DataFormat($result,$providers,$merchants);
|
|
|
+ $this->createExcel($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function createExcel($data = array())
|
|
|
+ {
|
|
|
+ Language::read('export');
|
|
|
+ import('libraries.excel');
|
|
|
+ $excel_obj = new Excel();
|
|
|
+ $excel_data = array();
|
|
|
+ //设置样式
|
|
|
+ $excel_obj->setStyle(array('id' => 's_title', 'Font' => array('FontName' => '宋体', 'Size' => '12', 'Bold' => '1')));
|
|
|
+ //header
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '通道名称');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '通道退款金额');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '机构编码');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '机构名称');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '机构退款金额');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '退款卡号');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '退款卡类型');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '退款面值');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '退款日期');
|
|
|
+ $excel_data[0][] = array('styleid' => 's_title', 'data' => '备注');
|
|
|
+ //data
|
|
|
+ foreach ((array)$data as $v) {
|
|
|
+ $mch_name = $v['company_name'] ?? $v['name'];
|
|
|
+ $tmp = array();
|
|
|
+ $tmp[] = array('data' => "{$v['provider_name']}({$v['store_name']})");
|
|
|
+ $tmp[] = array('data' => $v['channel_amount']);
|
|
|
+ $tmp[] = array('data' => $v['mchid']);
|
|
|
+ $tmp[] = array('data' => $mch_name);
|
|
|
+ $tmp[] = array('data' => $v['mch_amount']);
|
|
|
+ $tmp[] = array('data' => $v['card_no']);
|
|
|
+ $tmp[] = array('data' => $v['card_type_text']);
|
|
|
+ $tmp[] = array('data' => $v['refill_amount']);
|
|
|
+ $tmp[] = array('data' => date('Y-m-d H:i:s', $v['refund_time']));
|
|
|
+ $tmp[] = array('data' => $v['bz']);
|
|
|
+
|
|
|
+ $excel_data[] = $tmp;
|
|
|
+ }
|
|
|
+ $excel_data = $excel_obj->charset($excel_data, CHARSET);
|
|
|
+ $excel_obj->addArray($excel_data);
|
|
|
+ $excel_obj->addWorksheet($excel_obj->charset(L('exp_od_order'), CHARSET));
|
|
|
+ $excel_obj->generateXML($excel_obj->charset(L('exp_od_order'), CHARSET) . date('Y-m-d-H', time()));
|
|
|
+ exit;
|
|
|
}
|
|
|
|
|
|
public function addOp()
|