QianTouBus.php 4.0 KB

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