소스 검색

update undertaker

gbsong 3 년 전
부모
커밋
e5db5cd058

+ 5 - 3
app/api/business/TestUnitBus.php

@@ -20,16 +20,18 @@ class TestUnitBus
         $this->rymc = $jwtAuth->getRymc();          //setRybh是在middleware/jwtAuth中完成的
     }
 
-    public function selectTestUnit($data,$group_type,$pageNum=1,$pageSize=10)
+    public function selectTestUnit($data)
     {
+
+
         //判断where条件
         //任务名称:模糊查询
         $where=[
-            ['groupname','=', $group_type,]
+            ['groupname','=', $data['group_type'],]
         ];
         if ($data['name'] != '' ) array_push($where, ['name', 'LIKE', '%'.$data['name'].'%']);
         //获取数据
-        $result = (new Jcdw())->getInfoList($where,$pageNum, $pageSize)->toArray();
+        $result = (new Jcdw())->getInfoList($where,$data['pageNum'], $data['pageSize'])->toArray();
         //过滤字段
         $data=(new Arr())->Arr_columns($result, 'id,name,groupname,ssqy');
         //获取总数

+ 3 - 3
app/api/business/UndertakerTaskBus.php

@@ -65,8 +65,9 @@ class UndertakerTaskBus
     //查询任务列表数据
     public function selectUndertakerTaskList($task_class,$pageNum,$pageSize,$data)
     {
-        //$where=[['bear_id','=',$this->uid],['task_class','=',$task_class]];
-        $where=[['bear_id','=',$this->uid]];
+        $where=[
+            ['bear_id', '=', $this->uid],
+        ];
         if ($data['year']!='') array_push($where, ['year', '=', $data['year']]);
         //任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
         if ($data['ispublic'] != '') array_push($where, ['ispublic', '=', $data['ispublic']]);
@@ -77,7 +78,6 @@ class UndertakerTaskBus
         //任务名称:模糊查询
         if ($data['task_name'] != '' ) array_push($where, ['task_name', 'LIKE', '%'.$data['task_name'].'%']);
 
-        //$data = (new Undertake())->selectCcjcData($where,$pageNum,$pageSize);
 
 
 

+ 19 - 0
app/api/controller/v1/QianTou.php

@@ -10,6 +10,7 @@ namespace app\api\controller\v1;
 //牵头单位
 
 use app\api\business\OrganizerTaskBus;
+use app\api\business\TestUnitBus;
 use app\api\validate\TaskValidate;
 use think\exception\ValidateException;
 
@@ -71,4 +72,22 @@ class QianTou
         $result = $this->OrganizerTaskBus->releaseTask($task_id);
         return showSuccess($result);
     }
+
+
+    public function getTestUnitList()
+    {
+        $data=[
+            'name' => request()->param('name','','trim'),
+            'group_type' => request()->param('groupname', '检测机构', 'trim'),//todo 这里看以后的数据安排,先默认显示检测机构的分组 validate//在jcdw表中的groupname
+            'pageNum' => request()->param('pageNum', 1, 'int'),
+            'pageSize' => request()->param('pageSize', 10, 'int'),
+        ];
+        try {
+            validate(TaskValidate::class)->scene('getTestUnitList')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+        $result = (new TestUnitBus())->selectTestUnit($data);
+        return showSuccess($result);
+    }
 }

+ 0 - 30
app/api/controller/v1/ResponseJson.php

@@ -1,30 +0,0 @@
-<?php
-// 此为ResponseJson.php
-namespace app\api\controller\v1;
-trait ResponseJson
-{
- 
-    // 当接口出现异常时的返回
-    public function jsonData($code,$message,$data = [])
-    {
-        return $this->jsonResponse($code,$message,$data);
-    }
- 
-    // app接口请求成功的返回
-    public function jsonSuccessData($data = [])
-    {
-        return $this->jsonResponse(0,'success',$data);
-    }
- 
-    // 返回一个json
-	private function jsonResponse($code,$message,$data = [])
-	{
-		$content = [
-			'code'=>$code,
-			'message'=>$message,
-			'data'=>$data,
-		];
-		return json($content)->cookie('url','http://jcsy.aielab.net');
-	}
- 
-}

+ 0 - 130
app/api/controller/v1/Sample.old.php

@@ -1,130 +0,0 @@
-<?php
-namespace app\api\controller\v1;
-use app\api\business\SampleBus;
-use app\api\model\Ry;
-use app\api\model\Ryjr as RyjrModel;
-use app\api\model\Subject;
-use app\api\model\Ry as RyModel;
-use OpenApi\Annotations as OA;
-use app\BaseController;
-use thans\jwt\facade\JWTAuth;
-use think\exception\ValidateException;
-use think\facade\Db;
-use think\facade\Filesystem;
-use think\facade\Request as re;
-use think\Request;
-use think\facade\Cache;
-use thans\jwt\JWT;
-use rsa\Rsa;
-
-class Sample extends BaseController{
-
-    use ResponseJson;
-    protected $request;
-    protected $middleware = [
-        'jwt' => ['except' => ['uploadfile']],
-//        'check' => ['except' => ['login']]
-
-    ];
-
-    public function __construct(Request $request)
-    {
-        $this->request = $request;
-    }
-
-    /*
-* 上传文件
-*/
-    public function uploadfile(){
-        $file = request() -> file('file');              //接收文件
-//        dump($file);die();
-        if ($file == null) {                                    //判断文件是否为空
-            return $this ->jsonResponse(-1,'未上传文件');
-        }
-        /*
-         * 截取上传文件名后缀
-         * 将文件名以.分割为数组
-         * 用PHP end函数取数组最后一个
-         * 即可得到上传文件后缀
-         */
-        $temp = explode(".", $_FILES["file"]["name"]);
-//        dump($temp);die();
-        $extension = end($temp);
-        /*
-         * 判断上传文件是否合法
-         * 判断截取上传文件名是否为
-         * jpeg,jpg,png其中之一
-         */
-        if(!in_array($extension, array("pdf","PDF","DOC","doc","docx","DOCX","PNG","png"))){
-            return $this ->jsonResponse(-2,'上传文件不合法');
-        }
-        try {
-            validate(['file' => ['fileSize:10*1024*1024']])->check(['file' => $file]);
-        } catch (ValidateException $e) {
-            $return['msg'] = $e->getMessage();
-
-        }
-        /*
-         * 调用disk方法
-         * 此时根目录为/public/uploads
-         * 再把文件移动至uploads下的photo文件夹里
-         * 文件名用md5
-         */
-        $saveName = Filesystem::disk('public') -> putFile('file', $file, 'md5');
-        /*
-         * 这里只返回从uploads开始的路径
-         * 可以根据自己的需求返回需要的路径
-         */
-
-        $res = str_replace('\\', '/', 'http://syjc.aielab.net/uploads/'.$saveName);
-//       $res=(str_replace('\\', '', '/uploads/' . $saveName));
-
-        if($res){
-            return $this->jsonSuccessData($res);
-        }
-        else{
-            return $this->jsonData(-1,"上传文件失败");
-        }
-
-    }
-
-    /**
-     * @return \think\response\Json
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\DbException
-     * @throws \think\db\exception\ModelNotFoundException
-     * 获取任务接口:param: id pageNum  pageSize
-     */
-    public function getSampleList(){
-        $data = $this->request->post();
-        $id=$data['id'];
-        $pageNum=$data['pageNum'];
-        $pageSize=$data['pageSize'];
-        $res['rows'] = Db::name("cyd")->where('rwid','=',$id)->field('ypmc,ypbh,cyjs,cycs,status,brand')->page($pageNum,$pageSize)->select();
-        $res['total'] = Db::name("cyd")->count();
-        return $this->jsonSuccessData($res);
-    }
-
-//获取抽样单详情
-    public function getSampleDetail(){
-        $data = $this->request->post();
-        $id=$data['id'];
-        $res['rows'] = Db::name("cyd")->where('id','=',$id)
-            ->field('ypmc,ypbh,cyjs,cycs,status,brand')
-            ->leftJoin('t_','student_user.auth=student_teacher.auth and student_user.login_name=student_teacher.number and student_user.name=student_teacher.name')
-            ->find();
-        $res['total'] = Db::name("cyd")->count();
-        return $this->jsonSuccessData($res);
-    }
-    /**、
-     * @return \think\response\Json
-     * 添加任务
-     */
-    public function addSample(){
-        $data = $this->request->post();
-        $resid=Db::name("cyd")->strict(false)->insertGetId($data);
-        return $this->jsonSuccessData($resid);
-    }
-
-
-}

+ 0 - 44
app/api/controller/v1/TaskCommon.php

@@ -1,44 +0,0 @@
-<?php
-/**
- *
- *User:Administrator
- *Date:2021/10/13
- */
-
-namespace app\api\controller\v1;
-
-use app\api\business\OrganizerTaskBus;
-use app\api\business\TestUnitBus;
-
-class TaskCommon
-{
-    //获取检测单位列表(抽样机构 todo 增加查询功能 检测单位和抽样单位可以写到一起
-
-    private $OrganizerTaskBus;
-
-    public function __construct()
-    {
-        $this->OrganizerTaskBus = new OrganizerTaskBus();
-    }
-
-    public function getTestUnitList()
-    {
-        $pageNum = request()->param('pageNum',1,'int');
-        $pageSize = request()->param('pageSize',10,'int');
-        $group_type = request()->param('groupname', '检测机构', 'trim');//todo 这里看以后的数据安排,先默认显示检测机构的分组
-        $data=[
-            'name' => request()->param('name','','trim'),
-        ];
-        $result = (new TestUnitBus())->selectTestUnit($data,$group_type,$pageNum,$pageSize);
-        return showSuccess($result);
-    }
-
-    public function getTaskInfo()
-    {
-        $data = ['task_id' => request()->param('task_id')];
-        $result = $this->OrganizerTaskBus->getTaskInfo($data);
-        return showSuccess($result);
-
-    }
-
-}

+ 3 - 9
app/api/controller/v1/Undertaker.php

@@ -12,12 +12,6 @@ use app\api\business\UndertakerTaskBus;
 
 class Undertaker
 {
-    private $UndertakerTaskBus;
-
-    public function __construct()
-    {
-        $this->UndertakerTaskBus = new UndertakerTaskBus();
-    }
     public function createUnderTaker()
     {
         $data = [
@@ -29,14 +23,14 @@ class Undertaker
             'upload_time' => request()->param('uploadtime'),//报告上传时间
             'sample_number' => request()->param('sample_number'),//样本数量
         ];
-        $result = $this->UndertakerTaskBus->createUnderTakerInfo($data);
+        $result = (new UndertakerTaskBus())->createUnderTakerInfo($data);
         return showSuccess($result);
     }
 
     public function deleteUnderTaskList()
     {
         $del_arr = request()->param('delarr', '', 'trim');
-        $result = $this->UndertakerTaskBus->deleteUnderTaker($del_arr);
+        $result = (new UndertakerTaskBus())->deleteUnderTaker($del_arr);
         return showSuccess($result);
     }
 
@@ -52,7 +46,7 @@ class Undertaker
             'endtime' => request()->param('endtime','','trim'),//任务结束时间
             'task_name' => request()->param('task_name','','trim'),//任务名称
         ];
-        $result = $this->UndertakerTaskBus->selectUndertakerTaskList($task_class,$pageNum,$pageSize,$data);
+        $result = (new UndertakerTaskBus())->selectUndertakerTaskList($task_class,$pageNum,$pageSize,$data);
         return showSuccess($result);
     }
 }

+ 17 - 14
app/api/route/app.php

@@ -20,30 +20,38 @@ Route::group(function () {
     Route::post(":version.getJgCydList",":version.Cyd/getJgCydList");                         //监管端查看抽样单           #监管    #抽样单
 
 
-    //牵头单位
-    Route::post(":version.qtRelease",":version.QianTou/qtRelease");                           //牵头单位发布任务
-    Route::post(":version.getTaskTest",":version.QianTou/selectQtTaskList");                  //获取牵头单位所属任务        #牵头
-    Route::post(":version.getTaskDetail",":version.QianTou/getTaskInfo");                     //获取任务信息                 #牵头     #任务     #detail
 
+    //模型相关操作
     Route::post(":version.getModelList",":version.Model/selectModelList");                      //显示模型配置页面的列表       #牵头     #模型
     Route::post(":version.bindModel",":version.Model/bindModel");                               //在执行任务中绑定模型        #模型     #绑定
     Route::post(":version.saveModel",":version.Model/createModelInfo");                         //创建模型信息                #模型     #创建
     Route::post(":version.delModel",":version.Model/deleteModelInfo");                           //删除模型
+    Route::post(":version.getModeldetail",":version.Model/getModelInfo");                       //获取某个模型的详情信息
+    Route::post(":version.DoEditModelInfo",":version.Model/updateModelInfo");                   //修改模型详情
+    Route::post(":version.getPesticidesList",":version.Pesticides/selectPesticidesList");        //获取检测项目列表         #模型中 #修改检测项目 #获取检测项目
+    Route::post(":version.getProductList",":version.Product/selectProductList");                 //获取检测对象列表         #模型中 #修改检测对象 #获取检测对象
 
 
-    Route::post(":version.getModeldetail",":version.Model/getModelInfo");     //获取某个模型的详情信息
-    Route::post(":version.DoEditModelInfo",":version.Model/updateModelInfo"); //修改模型详情
-    Route::post(":version.getPesticidesList",":version.Pesticides/selectPesticidesList"); //获取检测项列表         #模型中 #修改检测项 #获取检测项
-    Route::post(":version.getProductList",":version.Product/selectProductList");    //获取检测对象列表
 
+    //牵头单位
+    Route::post(":version.qtRelease",":version.QianTou/qtRelease");                           //牵头单位发布任务
+    Route::post(":version.getTaskTest",":version.QianTou/selectQtTaskList");                  //获取牵头单位所属任务        #牵头
+    Route::post(":version.getTaskDetail",":version.QianTou/getTaskInfo");                     //获取任务信息                 #牵头     #任务     #detail
+    Route::post(":version.getTestList",":version.QianTou/getTestUnitList");                    //获取检测单位,获取抽样单位       #牵头单位   #机构与地域  #选择机构
 
 
+    Route::post(":version.AddUnderTask",":version.Undertaker/createUnderTaker");                //在牵头单位中 创建承担任务
+    Route::post(":version.delUnderTask",":version.Undertaker/deleteUnderTaskList");      //牵头单位中 删除创建的承担任务
+
+    //牵头单位相关路由
 
 
 
 
 
 
+    Route::post(":version.getTaskcd",":version.Undertaker/selectUndertakerTaskList");      //承担单位获取承担单位任务列表
+
 
 
 
@@ -98,14 +106,10 @@ Route::group(function () {
 
 
 
-    //牵头单位相关路由
 
-    Route::post(":version.AddUnderTask",":version.Undertaker/createUnderTaker");      //在牵头单位中添加承担单位
-    Route::post(":version.delUnderTask",":version.Undertaker/deleteUnderTaskList");      //在牵头单位中获取任务的获取承担单位
 
 
     //承担单位相关路由
-    Route::post(":version.getTaskcd",":version.Undertaker/selectUndertakerTaskList");      //承担单位获取承担单位任务列表
     //Route::post(":version.getTaskDetail",":version.QianTou/getTaskInfo");        //获取任务信息--same牵头单位路由获取任务信息,写在下面了
     Route::post(":version.getSampleList",":version.Sample/selectSampleList");        // 查询抽样单详细信息列表
     //Route::post(":version.getUnderTask",":version.index/getUnderTask");      //获取承担单位--same牵头单位路由获取承担单位信息
@@ -118,8 +122,7 @@ Route::group(function () {
     Route::post(":version.getReportTaskList",":version.TaskInformation/getReportTaskList");//获取报告上传任务列表
 
 
-    //通用的路由,获取检测单位,抽样单位
-    Route::post(":version.getTestList",":version.TaskCommon/getTestUnitList");        //获取检测单位列表--ok
+
 
 })->allowCrossDomain()->middleware(JwtAuth::class);
 

+ 58 - 47
app/api/validate/TaskValidate.php

@@ -7,96 +7,101 @@ use think\Validate;
 class TaskValidate extends Validate
 {
     protected $rule = [
-        'id'=>['require','integer','get:0'],//id
-        'pageNum' => ['require','integer','gt:0'],//页码,gt在内置规则:https://www.kancloud.cn/manual/thinkphp6_0/1037629#_232
-        'pageSize' => ['require','integer','gt:0'],//每页显示数量
+        'id' => ['require', 'integer', 'get:0'],//id
+        'pageNum' => ['require', 'integer', 'gt:0'],//页码,gt在内置规则:https://www.kancloud.cn/manual/thinkphp6_0/1037629#_232
+        'pageSize' => ['require', 'integer', 'gt:0'],//每页显示数量
         'task_class' => ['require', 'in' => '例行监测,专项监测'],//任务列表:例行监测
         'year' => ['require', 'date'], //年度
-        'ispublic'=>['require', 'in' => '0,1,2,3,4,5'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
-        'starttime' => ['require','date'],//任务开始时间
-        'endtime' => ['require','date'],//任务结束时间
-        'task_name' => ['require','chsDash','length:4,50'],//任务名称
-
-        'level'=>['require','in:0,1,2'],//任务优先级,0:一般,1:紧急,2:特急
-        'batch' => ['require','in:一季度,二季度,三季度,四季度'],//批次,一季度,二季度,三季度,四季度
-       // 'releaser' => ['require'], //发布单位
+        'ispublic' => ['require', 'in' => '0,1,2,3,4,5'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
+        'starttime' => ['require', 'date'],//任务开始时间
+        'endtime' => ['require', 'date'],//任务结束时间
+        'task_name' => ['require', 'chsDash', 'length:4,50'],//任务名称
+
+        'level' => ['require', 'in:0,1,2'],//任务优先级,0:一般,1:紧急,2:特急
+        'batch' => ['require', 'in:一季度,二季度,三季度,四季度'],//批次,一季度,二季度,三季度,四季度
+        // 'releaser' => ['require'], //发布单位
         'main_unit' => 'require',//牵头单位
 //        'filenum' => 'require',//文件号---选填
 //        'log' => 'require',//备注---选填
 //        'file_url' => 'require',//附件地址
 //        'file_name' => 'require',//附件名称
 
+        'group_type' => ['require', 'in:检测机构,抽样机构,报告上传机构'],//在jcdw表中的groupname
 
     ];
 
     protected $message = [
         'id' => [
-            'require'=>['0' => 200000, '1'=>'传参错误'],
-            'integer'=>['0' => 200001, '1'=>'传参错误'],
-            'gt'=>['0' => 200002, '1'=>'传参错误'],
+            'require' => [200000, '传参错误'],
+            'integer' => [200001, '传参错误'],
+            'gt' => [200002, '传参错误'],
         ],
         'pageNum' => [
-            'require'=>['0' => 200100, '1'=>'页码不能为空'],
-            'integer'=>['0' => 200101, '1'=>'页码必须为整数'],
-            'gt'=>['0' => 200102, '1'=>'页码必须大于0'],
+            'require' => [200100, '页码不能为空'],
+            'integer' => [200101, '页码必须为整数'],
+            'gt' => [200102, '页码必须大于0'],
         ],
         'pageSize' => [
-            'require'=>['0' => 200200, '1'=>'每页显示数量不能为空'],
-            'integer'=>['0' => 200201, '1'=>'每页显示数量必须为整数'],
-            'gt'=>['0' => 200202, '1'=>'每页显示数量必须大于0'],
+            'require' => [200200, '每页显示数量不能为空'],
+            'integer' => [200201, '每页显示数量必须为整数'],
+            'gt' => [200202, '每页显示数量必须大于0'],
         ],
         'task_class' => [
-            'require' => ['0' => 200300, '1' => '任务类别不能为空'],//任务列表:例行监测  专项监测
-            'in' => ['0' => 200301, '1' => '任务类别错误'],
+            'require' => [200300, '任务类别不能为空'],//任务列表:例行监测  专项监测
+            'in' => [200301, '任务类别错误'],
         ],
         'year' => [
-            'require'=>['0' => 200400, '1'=>'任务年度不能为空'],//年度
-            'date'=>['0' => 200401, '1'=>'任务年度格式错误'],
+            'require' => [200400, '任务年度不能为空'],//年度
+            'date' => [200401, '任务年度格式错误'],
         ],
         'ispublic' => [
-            'require'=>['0' => 200500, '1'=>'任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
-            'in'=>['0' => 200501, '1'=>'任务状态选择错误'],
+            'require' => [200500, '任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
+            'in' => [200501, '任务状态选择错误'],
         ],
         'starttime' => [
-            'require'=>['0' => 200600, '1'=>'任务开始时间不能为空'],//任务开始时间
-            'in'=>['0' => 200601, '1'=>'任务开始时间格式错误'],
+            'require' => [200600, '任务开始时间不能为空'],//任务开始时间
+            'date' => [200601, '任务开始时间格式错误'],
         ],
         'endtime' => [
-            'require'=>['0' => 200600, '1'=>'任务结束时间不能为空'],//任务结束时间
-            'in'=>['0' => 200601, '1'=>'任务结束时间格式错误'],
+            'require' => [200600, '任务结束时间不能为空'],//任务结束时间
+            'date' => [200601, '任务结束时间格式错误'],
         ],
         'task_name' => [
-            'require'=>['0' => 200800, '1'=>'任务名称不能为空'],//任务名称
-            'chsDash'=>['0' => 200801, '1'=>'任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
-            'length'=>['0' => 200802, '1'=>'任务名称长度在4至50个字符之间'],//任务名称
+            'require' => [200800, '任务名称不能为空'],//任务名称
+            'chsDash' => [200801, '任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
+            'length' => [200802, '任务名称长度在4至50个字符之间'],//任务名称
         ],
         'level' => [
-            'require'=>['0' => 200900, '1'=>'任务优先级不能为空'],//任务优先级,0:一般,1:紧急,2:特急
-            'in'=>['0' => 200901, '1'=>'任务优先级格式错误'],//任务优先级,0:一般,1:紧急,2:特急
+            'require' => [200900, '任务优先级不能为空'],//任务优先级,0:一般,1:紧急,2:特急
+            'in' => [200901, '任务优先级格式错误'],//任务优先级,0:一般,1:紧急,2:特急
         ],
         'batch' => [
-            'require'=>['0' => 201000, '1'=>'批次不能为空'],//批次,一季度,二季度,三季度,四季度
-            'in'=>['0' => 201000, '1'=>'批次格式错误'],
+            'require' => [201000, '批次不能为空'],//批次,一季度,二季度,三季度,四季度
+            'in' => [201000, '批次格式错误'],
         ],
 
         'main_unit' => [
-            'require' => ['0' => 201200, '1' => '牵头单位不能为空'],//牵头单位
+            'require' => [201200, '牵头单位不能为空'],//牵头单位
         ],
-
-        //  'releaser.require'=>['0' => 201100, '1'=>'发布单位不能为空'], //发布单位/
-        //'releaser.in'=>['0' => 201101, '1'=>'发布单位禁止填写'], //发布单位/
-
-        //'filenum.require'=>['0' => 201300, '1'=>'文件号不能为空'],//文件号---选填
-        //'log.require'=>['0' => 201400, '1'=>'备注不能为空'],//备注---选填
-        //'file_url.require'=>['0' => 201500, '1'=>'附件地址不能为空'],//附件地址
-        //'file_name.require'=>['0' => 201600, '1'=>'附件名称不能为空'],//附件名称
+        'group_type' => [
+            'require' => [201300, '数据传输错误'],//jcdw表中的groupname
+            'in' => [201301, '机构类型超出范围']
+        ]
+
+        //  'releaser.require'=>[201100, '发布单位不能为空'], //发布单位/
+        //'releaser.in'=>[201101, '发布单位禁止填写'], //发布单位/
+
+        //'filenum.require'=>[201300, '文件号不能为空'],//文件号---选填
+        //'log.require'=>[201400, '备注不能为空'],//备注---选填
+        //'file_url.require'=>[201500, '附件地址不能为空'],//附件地址
+        //'file_name.require'=>[201600, '附件名称不能为空'],//附件名称
     ];
 
 
     // 监管端 获取任务列表 验证场景定义
     public function sceneSelectJgTaskList()
     {
-        return $this->only(['task_class','pageNum','pageSize','year' ,'ispublic','starttime','endtime'])
+        return $this->only(['task_class', 'pageNum', 'pageSize', 'year', 'ispublic', 'starttime', 'endtime'])
             ->remove('year', 'require')
             ->remove('ispublic', 'require')
             ->remove('starttime', 'require')
@@ -132,4 +137,10 @@ class TaskValidate extends Validate
         return $this->only['task_id'];
     }
 
+    //牵头单位 机构与地域 选择抽样机构,检测机构,报告上传机构
+    public function sceneGetTestUnitList()
+    {
+        return $this->only(['pageNum', 'pageSize', 'group_type']);
+    }
+
 }

+ 88 - 0
app/api/validate/UndertakeValidate.php

@@ -0,0 +1,88 @@
+<?php
+
+namespace app\api\validate;
+
+use think\Validate;
+
+class UndertakeValidate extends Validate
+{
+
+    protected $rule = [
+        'task_id' => ['require', 'integer', 'get:0'],//任务id
+        'bear_id' => ['require', 'integer', 'get:0'],//抽样机构
+        'check_id' => ['require', 'integer', 'get:0'],//检测机构
+        'report_id' => ['require', 'integer', 'get:0'],//报告上传单位
+        'sample_number' => ['require', 'integer', 'get:0'],//样本数量
+        'address'=>['require'],
+        'year' => ['require', 'date'], //年度
+        'ispublic' => ['require', 'in' => '0,1,2,3,4,5'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
+        'upload_time' => ['require', 'date'],//报告上传时间
+        'starttime' => ['require', 'date'],//任务开始时间
+        'endtime' => ['require', 'date'],//任务结束时间
+        'task_name' => ['require', 'chsDash', 'length:4,50'],//任务名称
+
+
+    ];
+    protected $message = [
+        'task_id' => [
+            'require' => [700000, '传参错误'],//任务id
+            'integer' => [700001, '传参错误'],
+            'gt' => [700002, '传参错误'],
+        ],
+        'bear_id' => [
+            'require' => [700000, '传参错误'],//抽样机构
+            'integer' => [700001, '传参错误'],
+            'gt' => [700002, '传参错误'],
+        ],
+        'check_id' => [
+            'require' => [700000, '传参错误'],//检测机构
+            'integer' => [700001, '传参错误'],
+            'gt' => [700002, '传参错误'],
+        ],
+        'report_id' => [
+            'require' => [700000, '传参错误'],//报告上传单位
+            'integer' => [700001, '传参错误'],
+            'gt' => [700002, '传参错误'],
+        ],
+        'sample_number' => [
+            'require' => [700000, '传参错误'],//样本数量
+            'integer' => [700001, '传参错误'],
+            'gt' => [700002, '传参错误'],
+        ],
+        'address'=>[
+            'require'=>[700100,'地址必须']//地址
+        ],
+        'year' => [
+            'require' => [700400, '任务年度不能为空'],//年度
+            'date' => [700401, '任务年度格式错误'],
+        ],
+        'ispublic' => [
+            'require' => [700500, '任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
+            'in' => [700501, '任务状态选择错误'],
+        ],
+        'upload_time' => [
+            'require' => [700600, '上传时间错误'],//任务开始时间
+            'date' => [700600, '上传时间错误'],//任务开始时间
+        ],
+        'starttime' => [
+            'require' => [700600, '任务开始时间不能为空'],//任务开始时间
+            'date' => [700601, '任务开始时间格式错误'],
+        ],
+        'endtime' => [
+            'require' => [700600, '任务结束时间不能为空'],//任务结束时间
+            'date' => [700601, '任务结束时间格式错误'],
+        ],
+        'task_name' => [
+            'require' => [700800, '任务名称不能为空'],//任务名称
+            'chsDash' => [700801, '任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
+            'length' => [700802, '任务名称长度在4至50个字符之间'],//任务名称
+        ],
+    ];
+
+    public function sceneCreateUnderTaker()
+    {
+        return $this->only(['task_id', 'bear_id', 'check_id', 'report_id', 'address', 'upload_time', 'sample_number',]);
+    }
+
+
+}