IoDetailService.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace app\common\service;
  3. use app\admin\attr\Permission;
  4. use app\common\model\IoDetail;
  5. use app\common\util\WhereBuilder;
  6. #[Permission('io_detail')]
  7. class IoDetailService extends Service
  8. {
  9. public function page($params = [])
  10. {
  11. $params = $this->autoParams($params);
  12. $repo_id = $this->pg('repo_id');
  13. $where = WhereBuilder::builder()
  14. ->eq('d.repo_id', $repo_id)
  15. ->build();
  16. return (new IoDetail)->alias('d')
  17. ->field('d.*, r.name as repo_name, g.name as good_name')
  18. ->join('repo r', 'r.id = d.repo_id', 'LEFT')
  19. ->join('good g', 'g.id = d.good_id', 'LEFT')
  20. ->where($where)
  21. ->order('d.create_time desc')
  22. ->paginate($this->tp6Page());
  23. }
  24. public function transits($params = [])
  25. {
  26. $params = $this->autoParams($params);
  27. $transit_status = $this->pg('transit_status');
  28. $repo_id = $this->pg('repo_id');
  29. $io_id = $this->pg('io_id');
  30. $where = WhereBuilder::builder()
  31. ->in('d.transit_status', $transit_status)
  32. ->eq('d.repo_id', $repo_id)
  33. ->eq('d.io_id', $io_id)
  34. ->build();
  35. return (new IoDetail)->alias('d')
  36. ->field('d.*, r.name as repo_name, g.name as good_name, g.no as good_no')
  37. ->join('repo r', 'r.id = d.repo_id', 'LEFT')
  38. ->join('good g', 'g.id = d.good_id', 'LEFT')
  39. ->where($where)
  40. ->select();
  41. }
  42. }