MasterWorkerRetentionMoneyLogLists.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * @author 林海涛
  4. * @date 2024/7/28 上午11:30
  5. */
  6. namespace app\workerapi\lists;
  7. use app\common\model\master_worker\MasterWorkerRetentionMoneyLog;
  8. class MasterWorkerRetentionMoneyLogLists extends BaseWorkerDataLists
  9. {
  10. public function queryWhere()
  11. {
  12. $where = [];
  13. if(isset($this->params['worker_id'])){
  14. $where[]= ['worker_id','=',$this->params['worker_id']];
  15. }
  16. if(isset($this->params['create_time']) && !empty($this->params['create_time'])){
  17. $time = [strtotime($this->params['create_time'][0]), strtotime($this->params['create_time'][1])];
  18. $where[] = ['create_time', 'between', $time];
  19. }
  20. if(isset($this->params['month']) && !empty($this->params['month'])){
  21. $firstDay =date("Y-m-d 00:00:00", strtotime("first day of {$this->params['month']}"));
  22. $lastDay = date("Y-m-d 23:59:59", strtotime("{$this->params['month']} +1 month -1 day"));
  23. $firstTime = strtotime($firstDay);
  24. $lastTime = strtotime($lastDay);
  25. $where[] = ['create_time','between',[$firstTime,$lastTime]];
  26. }
  27. return $where;
  28. }
  29. public function lists(): array
  30. {
  31. $lists = MasterWorkerRetentionMoneyLog::where($this->searchWhere)
  32. ->where($this->queryWhere())
  33. ->append(['action_text'])
  34. ->field(['id', 'sn','action','amount','remark','create_time','update_time'])
  35. ->order(['id' => 'desc'])
  36. ->select()
  37. ->toArray();
  38. foreach ($lists as &$item) {
  39. $item['amount'] = $item['action_text'] . $item['amount'];
  40. }
  41. return $lists;
  42. }
  43. public function count(): int
  44. {
  45. return MasterWorkerRetentionMoneyLog::where($this->queryWhere())->count();
  46. }
  47. }