Ccjc.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace app\api\model;
  3. use think\Model;
  4. /**
  5. * Created by PhpStorm
  6. * Author: ihavoc
  7. * Date: 2020/11/22
  8. * Time: 16:24
  9. *
  10. */
  11. class Ccjc extends model{
  12. protected $table = 't_ccjc';
  13. protected $pk = 'id';
  14. function undertake()
  15. {
  16. return $this->hasMany('undertake', 'task_id', 'id');
  17. }
  18. function orgs()
  19. {
  20. return $this->hasOne('orgs', 'task_id', 'id');
  21. }
  22. public function selectCcjcAndOrgsData($task_uid,$task_class='例行监测',$pageNum=1,$pageSize=10)
  23. {
  24. $ccjc = new Ccjc();
  25. return $ccjc->where([['task_class', '=', $task_class],])->with([
  26. 'orgs'=>function ($query) use ($task_uid){
  27. $query->where('unit_id',$task_uid);
  28. }
  29. ])->page((int)$pageNum,(int)$pageSize)->select();
  30. }
  31. public function selectUndertakeData($task_class,$where, $pageNum, $pageSize)
  32. {
  33. // $Ccjc = new Ccjc();
  34. // return $Ccjc->where('task_class','=',$task_class)
  35. // ->with([
  36. // 'undertake'=> function ($query) use ($where){
  37. // $query->where($where);
  38. // }
  39. // ])->page($pageNum,$pageSize)->select();
  40. return Ccjc::hasWhere('undertake', function ($query) use ($where){
  41. $query->where($where);
  42. })->where('task_class','=',$task_class)->select();
  43. }
  44. public function countUndertakeData($task_class,$where)
  45. {
  46. $Ccjc = new Ccjc();
  47. return $Ccjc->where('task_class','=',$task_class)
  48. ->with([
  49. 'undertake'=> function ($query) use ($where){
  50. $query->where($where);
  51. }
  52. ])->count();
  53. }
  54. //查询任务列表数据
  55. public function getInfoByTaskClass($where,$pageNum=1,$pageSize=10)
  56. {
  57. return $this->where($where)->page($pageNum,$pageSize)->select();
  58. }
  59. public function getInfoListCount($where='')
  60. {
  61. return $this->where($where)->select()->count();
  62. }
  63. //删除任务
  64. public function deleteTaskByID($id)
  65. {
  66. if (empty($id)) {
  67. return false;
  68. }
  69. return $this->select($id)->delete();
  70. }
  71. //根据id查询任务发布者releaser
  72. public function getReleaserById($id)
  73. {
  74. return $this->select($id)->column('releaser');
  75. }
  76. //添加任务 返回添加数据的主键id
  77. public function createTask($data)
  78. {
  79. return $this->insertGetId($data);
  80. }
  81. public function getTaskInfoByTaskID($task_id)
  82. {
  83. return $this->where('id','=',$task_id)->find();
  84. }
  85. public function updateInfoByTaskID($task_id, $data)
  86. {
  87. return $this->where('id', '=', $task_id)->save($data);
  88. }
  89. /**
  90. * 更新任务状态
  91. * @param $arr_condition:['id'=>1,'task_name'=>'更改的名称','isPublish'=>'2']
  92. * @return false|\think\Collection
  93. * @throws \Exception
  94. */
  95. public function updateTaskByArrCondition($arr_condition)
  96. {
  97. if (empty($arr_condition)) {
  98. return false;
  99. }
  100. $result = $this->saveAll($arr_condition);
  101. return $result;
  102. }
  103. }