Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

129 Zeilen
3.0 KiB

  1. <?php
  2. require_once '../st-xm/Common/Mysql.php';
  3. header("Access-Control-Allow-Origin:*");
  4. //把数组key值改为run_id+bus_order_id
  5. function change_key($a){
  6. $tmp=array();
  7. foreach($a as $k=>$v){
  8. $tmpk=$v['run_id'].'-'.$v['bus_order_id'];
  9. $tmp["$tmpk"]=$v;
  10. $tmp["$tmpk"]['id']=$k;
  11. }
  12. return $tmp;
  13. }
  14. /*//合并数组
  15. function multi_merge($a,$b){
  16. $arr = array();
  17. foreach($a as $k=>$r){
  18. $arr[] = array_merge($r,$b[$k]);
  19. }
  20. return $arr;
  21. }*/
  22. //合并数组
  23. function multi_merge($a,$b){
  24. $arr = array();
  25. foreach($a as $k=>$r){
  26. if(isset($b[$k])){
  27. $arr[$k] = array_merge($r,$b[$k]);
  28. }else{
  29. $arr[$k] =$r;
  30. $arr[$k]['num2']=0;
  31. }
  32. }
  33. foreach($b as $k=>$r){
  34. if(!isset($arr[$k])){
  35. $arr[$k] =$r;
  36. $arr[$k]['num1']=0;
  37. }
  38. }
  39. return $arr;
  40. }
  41. $pdo = conn1();
  42. //从订单角度得到run_bus表的数据
  43. $sql1 = "SELECT
  44. l.line_id,
  45. m.run_id,
  46. m.RUN_BUS_ORDER_ID bus_order_id,
  47. m.run_date,
  48. count(m.order_id) as num1
  49. FROM
  50. order_main m
  51. LEFT JOIN opera_line l ON m.PARENT_PROD_ID = l.line_id
  52. LEFT JOIN opera_tickets t on m.prod_id=t.TICKET_ID
  53. LEFT JOIN opera_line w on t.line_id=w.line_id
  54. WHERE
  55. m.PARENT_ORDER_ID <> 0
  56. AND m.run_date >= '2017-02-05'
  57. AND m.ORDER_VALID_STATUS = 1
  58. AND m.CANCEL_FLAG = 0
  59. AND m.PROD_ID <> 380001
  60. and m.run_bus_order_id<>0
  61. AND w.line_type in (255,256)
  62. AND m.ORDER_PROD_TYPE = 82
  63. group by run_id,bus_order_id
  64. order by m.run_date;";
  65. $res1 = $pdo->query($sql1);
  66. $res1->setFetchMode(PDO::FETCH_ASSOC);
  67. $arr1 = $res1->fetchAll();
  68. $sql2="SELECT
  69. b.prod_id as line_id,
  70. b.run_id,
  71. a.bus_order_id,
  72. b.run_date,
  73. a.SEAT_COUNT,
  74. a.saled_count as num2
  75. FROM
  76. run_bus a
  77. LEFT JOIN run_main b ON a.run_id = b.run_id
  78. WHERE
  79. b.run_date >= '2017-02-05'
  80. and a.CANCEL_FLAG=0
  81. and a.SALED_COUNT<>0
  82. AND b.PROD_ID <> 0
  83. order by b.run_date;";
  84. $res2 = $pdo->query($sql2);
  85. $res2->setFetchMode(PDO::FETCH_ASSOC);
  86. $arr2 = $res2->fetchAll();
  87. //切换key值
  88. $arr1=change_key($arr1);
  89. //print_r($arr1);
  90. $arr2=change_key($arr2);
  91. $arr=multi_merge($arr1,$arr2);
  92. //print_r($arr);
  93. //exit;
  94. ?>
  95. <!DOCTYPE html>
  96. <html>
  97. <head>
  98. <meta charset="UTF-8">
  99. <title>run_bus数据检测</title>
  100. <style type="text/css">
  101. td{
  102. border:1px solid;
  103. }
  104. </style>
  105. </head>
  106. <body>
  107. <h2 style="margin-left:20%">run_bus数据检测</h2>
  108. <table width="60%">
  109. <tr><td width="10%">ID</td><td width="10%">出发日期run_date</td><td width="10%">班次run_id</td><td width="10%">车次号bus_order_id</td><td width="10%">实际订单数量</td><td width="10%">记录已售数量</td></tr>
  110. <?php $i=1; foreach($arr as $k=>$v ){?>
  111. <tr style="<?php if($v['num1']!=$v['num2']){echo 'color:red';} ?>"><td><?php echo $i;?></td><td><?php echo $v['run_date'];?></td><td><?php echo $v['run_id'];?></td><td><?php echo $v['bus_order_id'];?></td><td><?php echo $v['num1'];?></td><td><?php echo $v['num2'];?></td></tr>
  112. <?php $i++;}?>
  113. </table>
  114. </body>
  115. </html>