Stats.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace app\manage\controller;
  3. use think\Controller;
  4. use think\Db;
  5. use think\Session;
  6. use think\Config;
  7. use think\Cookie;
  8. use think\Request;
  9. use app\common\library\SysLogs;
  10. use app\common\library\UUIDs;
  11. /**
  12. * 合作伙伴及医院的统计查看
  13. */
  14. class Stats extends Base {
  15. public function index() {
  16. // 只显示最近半年的报表
  17. $admin = Session::get('session_manager');
  18. $dateStr = date("Ym");
  19. $whereArr = array();
  20. $whereArr["role_id"] = $admin["id"];
  21. // 取最近5个月的数据
  22. $whereArr["month"] = array(">=", date("Ym", strtotime("201808 - 180 day")));
  23. $stats = Db::table("operating")->where($whereArr)->order("month", "1")->select();
  24. if (count($stats) > 0) {
  25. $this->assign("stats", json_encode($stats));
  26. } else {
  27. $this->assign("stats", json_encode(array()));
  28. }
  29. return $this->fetch('index');
  30. }
  31. public function insstat() {
  32. // 查询出代理机构
  33. $admin = Session::get('session_manager');
  34. $insts = array();
  35. $defNode = array();
  36. $defNode["id"] = "";
  37. $defNode["text"] = "请选择下级机构";
  38. array_push($insts, $defNode);
  39. $instsRows = Db::table("institution")->where("agent_id", $admin["id"])->field("id,name as text")->select();
  40. if (count($instsRows) > 0) {
  41. foreach ($instsRows as $key => $val) {
  42. array_push($insts, $val);
  43. }
  44. $this->assign("insts", json_encode($insts));
  45. }
  46. $months = array();
  47. for ($i = 0; $i < 6; $i++) {
  48. $monthNode1 = array();
  49. $monthNode1["id"] = date("Ym", strtotime("- " . $i . " month"));
  50. $monthNode1["text"] = date("Ym", strtotime("- " . $i . " month"));
  51. array_push($months, $monthNode1);
  52. }
  53. $this->assign("months", json_encode($months));
  54. return $this->fetch('insstat');
  55. }
  56. /**
  57. * 代理商统计
  58. */
  59. public function insdatas() {
  60. $admin = Session::get('session_manager');
  61. $request = Request::instance();
  62. $params = $request->param();
  63. $page = empty($params["page"]) ? 1 : $params["page"];
  64. $pagesize = empty($params["rows"]) ? 1 : $params["rows"];
  65. $whereArr = array();
  66. if (!empty($params["month"])) {
  67. $whereArr["month"] = $params["month"];
  68. }
  69. // 查出全部代理机构
  70. $instsRows = DB::table('institution')->where("agent_id", $admin["id"])->field("id")->select();
  71. $iidArr=array();
  72. if(count($instsRows)>0){
  73. foreach($instsRows as $key=>$val){
  74. array_push($iidArr, $val["id"]);
  75. }
  76. }
  77. if (!empty($params["insts"])) {
  78. if (in_array($params["insts"], $iidArr)) {
  79. $whereArr["role_id"] = $params["insts"];
  80. } else {
  81. $whereArr["role_id"] = array("in", $iidArr);
  82. }
  83. }else{
  84. $whereArr["role_id"] = array("in", $iidArr);
  85. }
  86. if (empty($page) || $page < 1) {
  87. $page = 1;
  88. }
  89. if (empty($pagesize) || $pagesize < 1) {
  90. $pagesize = 30;
  91. }
  92. $info = DB::table('operating')->where($whereArr)->page($page, $pagesize)->select();
  93. $num = DB::table('operating')->where($whereArr)->count();
  94. $data = array();
  95. $data['total'] = $num;
  96. $data['rows'] = $info;
  97. echo json_encode($data);
  98. }
  99. }