Data.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. namespace app\admin\controller;
  3. use think\App;
  4. use think\facade\Db;
  5. //数据统计类
  6. class Data extends Base
  7. {
  8. //数据看板,获取相关统计数据
  9. public function index()
  10. {
  11. $data = [];
  12. //1.今日销量(单数、金额)
  13. $today_sales_volume = Db::name('sale')
  14. ->field('count(id) orders_number,sum(total_price) money')
  15. ->where('is_del',0)
  16. ->whereDay('addtime','today')
  17. ->find();
  18. $data['today_sales_volume'] = [
  19. 'orders_number' => isset($today_sales_volume['orders_number'])?$today_sales_volume['orders_number']:0,
  20. 'money' => isset($today_sales_volume['money'])?$today_sales_volume['money']:0,
  21. ];
  22. //2.今日销冠(部门、姓名、单数、金额)
  23. $temp = Db::name('sale')
  24. ->field('count(id) orders,sum(total_price) money,apply_id')
  25. ->where('is_del',0)
  26. ->whereDay('addtime','today')
  27. ->group('apply_id')
  28. ->order('money','desc')
  29. ->limit(1)
  30. ->buildSql();
  31. $data['today_sales_champion'] = Db::table($temp)
  32. ->alias('t')
  33. ->field('t.apply_id,t.orders,t.money,u.itemid company_id, c.`name` company, u.nickname')
  34. ->leftJoin('depart_user u','u.uid=t.apply_id AND u.is_del=0')
  35. ->leftJoin('company_item c','c.id=u.itemid AND c.is_del=0')
  36. ->select()
  37. ->toArray();
  38. //3.今日采购(采购订单数量、商品数量、竞价单数、反馈商品数)
  39. $data['today_purchase'] = [
  40. 'orders' => '0',
  41. 'goods' => '0',
  42. 'bidding_orders' => '0',
  43. 'feedback_goods' => '0'
  44. ];
  45. //4.今日订单列表(按照完成率排序,前三名的部门、单数、金额)
  46. $data['today_order'] = [
  47. ['company' => 'xxx部', 'orders' => '30', 'money' => '300'],
  48. ['company' => 'xx部', 'orders' => '20', 'money' => '200'],
  49. ['company' => 'x部', 'orders' => '10', 'money' => '100'],
  50. ];
  51. //5.本月完成率列表(按照完成率排序,前三名的部门、完成单数和完成率,区分今日、本周、本月和毛利率状态:2达标、1最低、0不达标等情况)
  52. $data['month_completion_rate'] = [
  53. 'today' => [
  54. ['company' => 'xxx部', 'completion' => 10, 'completion_rate' => '30%', 'type' => '2'],
  55. ['company' => 'xx部', 'completion' => 10, 'completion_rate' => '20%', 'type' => '1'],
  56. ['company' => 'x部', 'completion' => 10, 'completion_rate' => '10%', 'type' => '0'],
  57. ],
  58. 'week' => [
  59. ['company' => 'xxx部', 'completion' => 10, 'completion_rate' => '30%', 'type' => '2'],
  60. ['company' => 'xx部', 'completion' => 10, 'completion_rate' => '20%', 'type' => '1'],
  61. ['company' => 'x部', 'completion' => 10, 'completion_rate' => '10%', 'type' => '0'],
  62. ],
  63. 'month' => [
  64. ['company' => 'xxx部', 'completion' => 10, 'completion_rate' => '30%', 'type' => '2'],
  65. ['company' => 'xx部', 'completion' => 10, 'completion_rate' => '20%', 'type' => '1'],
  66. ['company' => 'x部', 'completion' => 10, 'completion_rate' => '10%', 'type' => '0'],
  67. ],
  68. ];
  69. //6.待开票(单数、金额)
  70. $data['wait_invoice'] = [
  71. 'orders' => '10',
  72. 'money' => '34.45'
  73. ];
  74. //7.待回款(单数、金额)
  75. $data['wait_return'] = [
  76. 'orders' => '100',
  77. 'money' => '3.45'
  78. ];
  79. //8.待回票(单数、金额)
  80. $data['wait_ticket'] = [
  81. 'orders' => '8',
  82. 'money' => '38.5'
  83. ];
  84. //9.待付款(单数、金额)
  85. $data['wait_payment'] = [
  86. 'orders' => '34',
  87. 'money' => '5338.58'
  88. ];
  89. //10.竞价(招标单数、未竞标单数)
  90. $data['bidding'] = [
  91. 'bidding_orders' => '10',
  92. 'no_bidding_orders' => '2'
  93. ];
  94. //11.采购单(采购单数、未下单数)
  95. $data['purchase'] = [
  96. 'purchase_orders' => '10',
  97. 'no_purchase_orders' => '2'
  98. ];
  99. //12.采购单(采购下单数、未生产单数)
  100. $data['purchase_2'] = [
  101. 'orders' => '10',
  102. 'no_orders' => '2'
  103. ];
  104. //13.未发货(单数、商品数)
  105. $data['no_deliver'] = [
  106. 'orders' => '10',
  107. 'goods' => '2'
  108. ];
  109. //14.转单率(部门名称、今日转单率、本月转单率,今年转单率,按照年度转单率排序)
  110. $data['transfer_order_rate'] = [
  111. ['company' => 'xxx部', 'today_tor' => '34%', 'month_tor' => '68%', 'year_tor' => '45%'],
  112. ['company' => 'xx部', 'today_tor' => '34%', 'month_tor' => '68%', 'year_tor' => '40%'],
  113. ['company' => 'x部', 'today_tor' => '34%', 'month_tor' => '68%', 'year_tor' => '6%'],
  114. ];
  115. return app_show(0, '请求成功', $data);
  116. }
  117. }