Exemplo n.º 1
0
 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);
 }