public function export_payment($start, $end, $owner) { $daily_service = new DailyStat(); $filters = array('salesman' => $owner); $result = $daily_service->get_daily_stat($start, $end, $filters, null, null, 0, 0); $list = $result['list']; $payments = $this->get_payment_by_owner($start, $end, $owner); foreach ($list as $key => $value) { $list[$key]['ad_app_type'] = $value['ad_app_type'] == ADModel::ANDROID ? 'Android' : 'iOS'; $list[$key]['status'] = $value['status'] == ADModel::ONLINE ? 'ON' : 'OFF'; $list[$key]['channel_type'] = ChannelModel::$TYPE[$value['channel_type']]; $list[$key]['payment_status'] = ''; foreach ($payments[$value['id']] as $payment) { if (!$payment['payment'] || !$payment['rmb']) { $list[$key]['payment_status'] = 'N'; } else { $list[$key]['paid_time'] .= $payment['paid_time'] . ' ' . $payment['payment_person'] . ' '; $list[$key]['invoice_time'] .= $payment['invoice_time'] . ' '; $list[$key]['invoice_rmb'] .= $payment['invoice_rmb'] . ' '; $list[$key]['real_rmb'] .= $payment['real_rmb'] / 100 . ' '; $list[$key]['comment'] .= $payment['comment'] . ' '; } } $list[$key] = Utils::array_pick($list[$key], Payment::$FIELD_PAYMENT_EXPORT); } $title = array('渠道名', '渠道全称', '渠道类型', '广告名', '渠道号', '创建时间', '状态', '平台', '广告类型', '扣分', '排序', '激活支出', '深度任务支出', '收入', '红包锁屏收入', '其他收入', 'CPA', '渠道CPA', '单价', '实际价格', '损益价格', '毛利润', '毛利润率(%)', '结算率(%)', '商务负责人', '商务执行人', '是否回款', '回款时间', '开票时间', '开票金额', '实际回款金额', '备注'); array_unshift($list, $title); $excel_service = new Excel(); $excel_service->export($list, "{$start}至{$end}广告数据分析"); }
/** * 全部广告数据分析 */ public function get_daily_stat() { $start = $_REQUEST['start']; $end = $_REQUEST['end']; $order = $_REQUEST['order']; $seq = $_REQUEST['seq'] ? $_REQUEST['seq'] : 'asc'; $page = (int) $_REQUEST['page']; $page_size = $_REQUEST['pagesize'] ? $_REQUEST['pagesize'] : 20; $filters = array('salesman' => $_SESSION['id'], 'ad_app_type' => $_REQUEST['ad_app_type'], 'channel' => $_REQUEST['channel'], 'ad_name' => $_REQUEST['ad_name'], 'keyword' => $_REQUEST['keyword']); $filters = Utils::array_pick_effect($filters); $daily_service = new DailyStat(); $result = $daily_service->get_daily_stat($start, $end, $filters, $order, $seq, $page, $page_size); $result['list'] = $this->is_invoice($result['list'], $start, $end); $result['code'] = 0; $result['msg'] = 'ok'; $this->output($result); }