25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

186 satır
8.5 KiB

  1. <?php
  2. require_once '../../dictionary.php';
  3. require_once '../../ORG/Classes/PHPExcel.php';
  4. //require_once'ORG/Classes/PHPExcel/Writer/Excel2007.php';
  5. require_once '../../Common/Mysql.php';
  6. $pdo=conn();
  7. header("Access-Control-Allow-Origin:*");
  8. $post = $_GET;
  9. if($post['arr_manage_str'] == -1){
  10. $start_time = $post['start_time'];
  11. $end_time = $post['end_time'];
  12. $money = $post['money'];
  13. $channel = $post['channel'];
  14. $keywords = $post['keywords'];
  15. $sqlWhere = array();
  16. ($start_time=='')? null : $sqlWhere[] = " a.CREATE_TIME > '$start_time'";
  17. ($end_time=='')? null : $sqlWhere[] = " a.CREATE_TIME < '$end_time'";
  18. ($money==-1)? null : $sqlWhere[] = " a.ORDER_PAY_STATUS = $money";
  19. empty($keywords)? null : $sqlWhere[] = " $sale_shop[$channel] like '%$keywords%'";
  20. if(count($sqlWhere) == 0){
  21. $time = time();
  22. $time -= 30*24*60*60;
  23. $time = date("Y-m-d H:i:s",$time);
  24. $sql = "select a.ID,a.CREATE_USER_ID,a.CREATE_TIME,a.SALE_ORG_ID,a.ORDER_PRICE,a.PARENT_PROD_ID,a.ORDER_PAY_STATUS,b.CREATE_USER_ID,c.CHAN_QUALITY,c.CHAN_TYPE,c.CHAN_NAME
  25. from order_main as a,order_pay_main as b,base_customer as c
  26. where a.ID = b.ORDER_ID and b.CREATE_USER_ID = c.USER_ID and a.CREATE_TIME > '$time'";
  27. }else{
  28. $sql_txt = " and ".implode(" and ",$sqlWhere);
  29. $sql = "select a.ID,a.CREATE_USER_ID,a.CREATE_TIME,a.SALE_ORG_ID,a.ORDER_PRICE,a.PARENT_PROD_ID,a.ORDER_PAY_STATUS,b.CREATE_USER_ID,c.CHAN_QUALITY,c.CHAN_TYPE,c.CHAN_NAME
  30. from order_main as a,order_pay_main as b,base_customer as c
  31. where a.ID = b.ORDER_ID and b.CREATE_USER_ID = c.USER_ID".$sql_txt;
  32. }
  33. }else{
  34. $id = explode(",",$post['arr_manage_str']);
  35. if(count($id) == 1){
  36. $sql = "select a.ID,a.CREATE_USER_ID,a.CREATE_TIME,a.SALE_ORG_ID,a.ORDER_PRICE,a.PARENT_PROD_ID,a.ORDER_PAY_STATUS,b.CREATE_USER_ID,c.CHAN_QUALITY,c.CHAN_TYPE,c.CHAN_NAME
  37. from order_main as a,order_pay_main as b,base_customer as c
  38. where a.ID = b.ORDER_ID and b.CREATE_USER_ID = c.USER_ID and a.ID = '$post[arr_manage_str]'";
  39. }else{
  40. $sql = "select a.ID,a.CREATE_USER_ID,a.CREATE_TIME,a.SALE_ORG_ID,a.ORDER_PRICE,a.PARENT_PROD_ID,a.ORDER_PAY_STATUS,b.CREATE_USER_ID,c.CHAN_QUALITY,c.CHAN_TYPE,c.CHAN_NAME
  41. from order_main as a,order_pay_main as b,base_customer as c
  42. where a.ID = b.ORDER_ID and b.CREATE_USER_ID = c.USER_ID and a.ID in ('$post[arr_manage_str]')";
  43. }
  44. }
  45. $result=$pdo->query($sql);
  46. if($result){
  47. $list=$result->fetchAll(PDO::FETCH_ASSOC);
  48. foreach ($list as $key => $value) {
  49. foreach($value as $kk => $vv){
  50. if(array_key_exists($kk,$coutomer)){
  51. $list[$key][$kk] = $coutomer[$kk][$vv];
  52. }
  53. }
  54. $sql = "select a.ID,b.TYPE_NAME from order_pay_detail as a,dict_type as b where a.PAY_TYPE_ID_1 = b.ID and a.ID = '$value[ID]'";
  55. $result=$pdo->query($sql);
  56. $arr = $result->fetchAll(PDO::FETCH_ASSOC);
  57. $list[$key]['TYPE_NAME'] = $arr[0]['TYPE_NAME'];
  58. $sql = "select COMMISSION_REE from order_commission where ORDER_ID = '$value[ID]'";
  59. $result=$pdo->query($sql);
  60. $arr1 = $result->fetchAll(PDO::FETCH_ASSOC);
  61. $list[$key]['RECE_REE'] = $value['ORDER_PRICE'] - $arr1[0]['COMMISSION_REE'];
  62. if($value['ORDER_PAY_STATUS'] == 1){
  63. $list[$key]['COMMISSION_REE'] = $arr1[0]['COMMISSION_REE'];
  64. $list[$key]['ORDER_PAY_STATUS'] = '未结';
  65. $list[$key]['ORDER_PAY_ID'] = 1;
  66. }else{
  67. $list[$key]['COMMISSION_REE'] = '-';
  68. $list[$key]['ORDER_PAY_STATUS'] = '已结';
  69. $list[$key]['ORDER_PAY_ID'] = 0;
  70. }
  71. }
  72. //导出excel
  73. $objExcel = new PHPExcel();
  74. $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
  75. $objProps = $objExcel->getProperties ();
  76. //设置创建者
  77. $objProps->setCreator ('zhangs');
  78. //设置最后修改者
  79. $objProps->setLastModifiedBy("zhangs");
  80. //描述
  81. $objProps->setDescription("交易记录");
  82. //设置标题
  83. $objProps->setTitle ( '交易记录' );
  84. //设置题目
  85. $objProps->setSubject("fina");
  86. //设置关键字
  87. $objProps->setKeywords ( '交易记录' );
  88. //设置分类
  89. $objProps->setCategory ( "excel");
  90. //工作表设置
  91. $objExcel->setActiveSheetIndex(0)
  92. -> setCellValue('A1','渠道性质')
  93. -> setCellValue('B1','渠道分类')
  94. -> setCellValue('C1','渠道名称')
  95. -> setCellValue('D1','交易时间')
  96. -> setCellValue('E1','交易金额')
  97. -> setCellValue('F1','对应订单号')
  98. -> setCellValue('G1','支付方式')
  99. -> setCellValue('H1','应收')
  100. -> setCellValue('I1','佣金金额')
  101. -> setCellValue('J1','佣金结算');
  102. $i = 2;
  103. foreach($list as $k=>$v){
  104. $objExcel->setActiveSheetIndex(0)
  105. ->setCellValue('A'.$i,$v['CHAN_QUALITY'])
  106. ->setCellValue('B'.$i,$v['CHAN_TYPE'])
  107. ->setCellValue('C'.$i,$v['CHAN_NAME'])
  108. ->setCellValue('D'.$i,$v['CREATE_TIME'])
  109. ->setCellValue('E'.$i,$v['ORDER_PRICE'])
  110. ->setCellValue('F'.$i,$v['ID'])
  111. ->setCellValue('G'.$i,$v['TYPE_NAME'])
  112. ->setCellValue('H'.$i,$v['RECE_REE'])
  113. ->setCellValue('I'.$i,$v['COMMISSION_REE'])
  114. ->setCellValue('J'.$i,$v['ORDER_PAY_STATUS']);
  115. $i++;
  116. }
  117. $objExcel->getActiveSheet()->setTitle('交易记录');
  118. $objExcel->setActiveSheetIndex(0);
  119. $filename=urlencode('交易记录').'_'.date('Y-m-dHis');
  120. //生成xlsx文件
  121. $outputFileName = iconv ( 'UTF-8', 'gb2312', 'zhangs'.time() );
  122. //直接导出文件
  123. //$objWriter->save ( $outputFileName );
  124. //文件直接输出到浏览器
  125. ob_end_clean();
  126. header("Expires: 0");
  127. header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
  128. header("Content-Type:application/force-download");
  129. header("Content-Type:application/vnd.ms-execl");
  130. header("Content-Type:application/octet-stream");
  131. header("Content-Type:application/download");
  132. header ( 'Content-Disposition:attachment;filename='. $outputFileName.'.csv' );
  133. header("Content-Transfer-Encoding:binary");
  134. $objWriter->save ( 'php://output');
  135. // $str = "渠道性质\t,渠道分类\t,渠道名称\t,交易时间\t,交易金额\t,对应订单号\t,支付方式\t,应收\t,佣金金额\t,佣金结算"."\n";
  136. // foreach($list as $k => $v){
  137. // $CHAN_QUALITY = $v['CHAN_QUALITY']."\t";
  138. // $CHAN_TYPE = $v['CHAN_TYPE']."\t ";
  139. // $CHAN_NAME = $v['CHAN_NAME']."\t";
  140. // $CREATE_TIME = $v['CREATE_TIME']."\t";
  141. // $ORDER_PRICE = $v['ORDER_PRICE']."\t ";
  142. // $ID = $v['ID']."\t ";
  143. // $TYPE_NAME = $v['TYPE_NAME']." \t";
  144. // $RECE_REE = $v['RECE_REE']."\t ";
  145. // $ORDER_PAY_STATUS = $v['ORDER_PAY_STATUS']."\t";
  146. // $str .= $CHAN_QUALITY . "," . $CHAN_TYPE . "," . $CHAN_NAME . "," . $CREATE_TIME . "," . $ORDER_PRICE . "," . $ID . "," . $TYPE_NAME . "," . $RECE_REE . "," . $ORDER_PAY_STATUS . "\n";
  147. // }
  148. // $filename = date('Ymd');
  149. // //设置文件名
  150. // function export_csv($filename, $data) {
  151. // header('Content-Type: application/vnd.ms-excel');
  152. // header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
  153. // header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
  154. // header('Expires:0');
  155. // header('Pragma:public');
  156. // $data = chr(0xEF) . chr(0xBB) . chr(0xBF) . $data;
  157. // // $data = iconv("utf-8","gb2312",$data);
  158. // echo $data;
  159. // }
  160. // export_csv($filename, $str);
  161. //导出
  162. exit;
  163. }
  164. ?>