OrganizerTaskBus.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. *
  4. *User:Administrator
  5. *Date:2021/10/12
  6. */
  7. namespace app\api\business;
  8. use app\api\exception\ApiException;
  9. use app\api\model\Ccjc;
  10. use app\api\model\Jgry;
  11. use app\api\model\Orgs;
  12. use app\api\model\TestModel;
  13. use app\api\model\Undertake;
  14. use app\common\lib\auth\JwtAuth;
  15. class OrganizerTaskBus
  16. {
  17. private $uid;
  18. public function __construct()
  19. {
  20. $jwtAuth=JwtAuth::getInstance(); //实例化jwtAuth
  21. $this->uid = $jwtAuth->getUid(); //setRybh是在middleware/jwtAuth中完成的
  22. }
  23. //查询任务列表数据
  24. public function selectTaskList($data)
  25. {
  26. $where=[
  27. ['unit_id','=',$this->uid],
  28. ['task_class','=',$data['task_class']]
  29. ];
  30. if ($data['task_name'] != '' ) $where[] = ['task_name', 'LIKE', '%' . $data['task_name'] . '%'];
  31. if ($data['ispublic'] != '') $where[] = ['ispublic', '=', $data['ispublic']];
  32. if ($data['year']!='') $where[] = ['year', '=', $data['year']];
  33. if ($data['starttime'] != '') $where[] = ['starttime', '>=', $data['starttime']];
  34. if ($data['endtime'] != '') $where[] = ['endtime', '<=', $data['endtime']];
  35. $data = (new Orgs())->selectCcjcData($where,$data['pageNum'],$data['pageSize']);
  36. $count =(new Orgs())->countCcjcData($where);
  37. return ['rows'=>$data,'total'=>$count];
  38. }
  39. //牵头单位发布任务
  40. public function releaseTask($task_id)
  41. {
  42. $data=['ispublic' => 5];//发布任务
  43. $result = (new Ccjc())->updateInfoByTaskID($task_id, $data);
  44. return $result;
  45. }
  46. //获取任务基本信息
  47. public function getTaskInfo($tmp_data)
  48. {
  49. $task_id = $tmp_data['task_id'];
  50. $pageNum = $tmp_data['pageNum'];
  51. $pageSize = $tmp_data['pageSize'];
  52. $uid=$this->uid;
  53. // //判断 在orgs表中的当前任务的id所对应的unit_id是否等于uid
  54. // $unit_id = (new Orgs())->getUnitIdByTaskID($task_id)['unit_id'];
  55. // if ($unit_id != $uid) {
  56. // throw new ApiException(config('status.err_task_auth'));
  57. // }
  58. //任务信息
  59. $task_info = (new Ccjc())->getTaskInfoByTaskID($task_id);
  60. $task_releaser_info = (new Jgry())->getJgryInfoByRymc($task_info['releaser']);
  61. //获取uid下创建的所有模型信息
  62. if (isset($task_info['test_model_id'])) {
  63. $task_product_info = (new TestModel())->getProductInfo($task_info['test_model_id']);
  64. $task_pesticides_info = (new TestModel())->getPesticidesInfo($task_info['test_model_id']);
  65. $task_model_info=(new TestModel())->getModelInfoByModelID($task_info['test_model_id']);
  66. }else{
  67. $task_product_info ='';
  68. $task_pesticides_info='';
  69. $task_model_info='';
  70. }
  71. //牵头的任务列表的信息(抽样)
  72. $unitTaskList_info=(new Undertake())->selectTaskListByTaskIdAndUid($task_id,$uid,'','',$pageNum,$pageSize);
  73. $unitTaskList_total = (new Undertake())->countTaskListByTaskIdAndUid($task_id, $uid);
  74. //承担的任务列表的信息(检测)
  75. $underTaskList_info=(new Undertake())->selectTaskListByTaskIdAndUid($task_id,'',$uid,'',$pageNum,$pageSize);
  76. $underTaskList_total = (new Undertake())->countTaskListByTaskIdAndUid($task_id, '',$uid);
  77. //报告上传的任务列表信息(报告上传)
  78. $reportTaskList_info=(new Undertake())->selectTaskListByTaskIdAndUid($task_id,'','',$uid,$pageNum,$pageSize);
  79. $reportTaskList_total = (new Undertake())->countTaskListByTaskIdAndUid($task_id, '','',$uid);
  80. $data=[
  81. 'taskInfo'=>$task_info,
  82. 'releaserInfo'=>$task_releaser_info,
  83. 'product'=>$task_product_info,
  84. 'pesticides'=>$task_pesticides_info,
  85. 'unitTaskList'=>['rows'=>$unitTaskList_info,'total'=>$unitTaskList_total],
  86. 'underTaskList'=>['rows'=>$underTaskList_info,'total'=>$underTaskList_total],
  87. 'reportTaskList'=>['rows'=>$reportTaskList_info,'total'=>$reportTaskList_total],
  88. 'modelInfo'=>$task_model_info,
  89. ];
  90. return $data;
  91. }
  92. }