evaluatemodel.php 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sicilon_IT
  5. * Date: 2021/11/30
  6. * Time: 19:44
  7. */
  8. namespace app\index\model;
  9. use think\Model;
  10. class evaluatemodel extends Model
  11. {
  12. protected $table = 't_evaluate';
  13. public function insinfo($arr)
  14. {
  15. $this->setAttr('id', null)->isUpdate(false)->allowField(true)->save($arr);
  16. return $this->id;
  17. }
  18. /*
  19. * 20211130
  20. * steelxu
  21. */
  22. public function selinfobyuidetype($evaluateuserid, $etype)
  23. {
  24. $where_arr['evaluateuserid'] = $evaluateuserid;
  25. $where_arr['evaluatetype'] = $etype;
  26. $rec = $this->where($where_arr)->find();
  27. return $rec;
  28. }
  29. /***
  30. * pc后台 获取列表
  31. * 20211214
  32. * wj
  33. */
  34. public function getlistforadmin($where, $count = false, $page = 1, $size = 10)
  35. {
  36. $sql = "select e.*,u.wname,u.telno from t_evaluate as e join t_userinfo as u on u.id = e.evaluateuserid";
  37. $whereUse = [];
  38. if (isset($where['wname']) && !empty($where['wname']) && is_string($where['wname'])) {
  39. $whereUse['u.wname'] = "u.wname like '%" . $where['wname'] . "%'";
  40. }
  41. if (isset($where['telno']) && !empty($where['telno']) && is_numeric($where['telno'])) {
  42. $whereUse['u.telno'] = "u.telno like '%" . $where['telno'] . "%'";
  43. }
  44. if (isset($where['sourcetype']) && !empty($where['sourcetype']) && in_array($where['sourcetype'], [1, 2])) {
  45. $whereUse['e.sourcetype'] = "e.sourcetype = '" . $where['sourcetype'] . "'";
  46. if (isset($where['code']) && !empty($where['code']) && is_string($where['code'])) {
  47. switch ($where['sourcetype']) {
  48. case 1:
  49. $sql .= " join t_invent as i on i.id = e.sourceid";
  50. $whereUse['i.code'] = "i.code like '%" . $where['code'] . "%'";
  51. break;
  52. case 2:
  53. $sql .= " join t_jobhunting as j on j.id = e.sourceid";
  54. $whereUse['j.id'] = "j.id like '%" . $where['code'] . "%'";
  55. break;
  56. }
  57. }
  58. }
  59. if (isset($where['evaluatetype']) && in_array($where['evaluatetype'], [1])) {
  60. $whereUse['e.evaluatetype'] = "e.evaluatetype='" . $where['evaluatetype'] . "'";
  61. }
  62. if (isset($where['evaluatememo']) && !empty($where['evaluatememo']) && is_string($where['evaluatememo'])) {
  63. $whereUse['e.evaluatememo'] = "e.evaluatememo like '%" . $where['evaluatememo'] . "%'";
  64. }
  65. if (isset($where['e.evaluatetime']) && is_array($where['evaluatetime'])) {
  66. $whereUse['e.evaluatetime'] = "e.evaluatetime between '" . $where['evaluatetime'][0] . "' and '" . $where['evaluatetime'][1] . "'";
  67. }
  68. $whereStr = implode(' and ', $whereUse);
  69. if (!empty($whereStr)) {
  70. $sql .= ' where ' . $whereStr;
  71. }
  72. $sql .= ' order by id desc';
  73. if ($count) {
  74. $list = $this->query("select count(*) count from (" . $sql . ") as t");
  75. $count = $list[0]['count'];
  76. return $count;
  77. }
  78. $index = ($page - 1) * $size;
  79. $list = $this->query("select * from (" . $sql . ") as t limit " . $index . "," . $size);
  80. return $list;
  81. }
  82. }