Ccjc.php 3.0 KB

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