Prechádzať zdrojové kódy

update 修改模型信息

gbsong 3 rokov pred
rodič
commit
b818587af1

+ 44 - 48
app/api/business/ModelBus.php

@@ -40,9 +40,9 @@ class ModelBus
     }
 
     //获取模型信息
-    public function getModelInfo($model_id)
+    public function getModelInfo($tmp_data)
     {
-        //todo 这里可以连表查询,可以多对多,以后再研究优化
+        $model_id = $tmp_data['id'];
         $model_info=(new TestModel())->getModelInfoByModelID($model_id);//获取模型信息
         $model_product=(new TestModel())->getProductInfo($model_id)->toArray();//检测对象
         $model_pesticides = (new TestModel())->getPesticidesInfo($model_id)->toArray();//检测项
@@ -54,9 +54,15 @@ class ModelBus
         return $data;
     }
 
-    public function updateInfoByTaskID($task_id, $data)
+    public function updateInfoByTaskID($data)
     {
-        $result = (new Ccjc())->updateInfoByTaskID($task_id, $data);
+        $task_id = $data['task_id'];
+        $tmp_data = [
+            'endtime_cydsb' => $data['endtime_cydsb'],
+            'is_divide' => $data['is_divide'],
+            'test_model_id' => $data['test_model_id'],
+        ];
+        $result = (new Ccjc())->updateInfoByTaskID($task_id, $tmp_data);
         return $result;
     }
 
@@ -65,48 +71,42 @@ class ModelBus
     //修改模型信息
     public function updateModelInfo($model_id,$model_info,$product='',$pesticides='')
     {
-////todo ------------- foreach有问题!!! 直接复制的,要重写!!
+
+        //检测对象如果不为空则存在需要更新的信息,$product_update_Data
+        $product_update_data = [];
         if ($product != '') {
-            $product_update_data=[];
-            foreach ($product as $k=>$v){
-                $j=[];
-                $j['test_model_id']=$model_id;
-                $j['product_id']=$v['id'];
-                $j['product_name']=$v['name'];
-                $product_update_data[]=$j;
+            foreach ($product as $k => $value) {
+                $product_update_data[$k] = [
+                    'test_model_id' => $model_id,
+                    'product_id' => $value['id'],
+                    'product_name' => $value['name'],
+                ];
             }
+            //删除原有Product中model_id的内容
+            (new TestProduct())->deleteProductInfoByTestModelID($model_id);
+            //添加新的Product中model_id的内容
+            (new TestProduct())->insertProductInfo($product_update_data);
         }
 
+        //检测项目如果不为空则存在需要更新的信息,$product_update_Data
+        $pesticides_update_data = [];
         if ($pesticides != '') {
-            $pesticides_update_data=[];
-            foreach ($pesticides as $i=>$o){
-                $p=[];
-                $p['test_model_id']=$model_id;
-                $p['test_name']=$o['name'];
-                $p['test_id']=$o['id'];
-                $pesticides_update_data[]=$p;
-
+            foreach ($pesticides as $k => $value) {
+                $pesticides_update_data [$k]= [
+                    'test_model_id' => $model_id,
+                    'test_id' => $value['id'],
+                    'test_name' => $value['name'],
+                ];
             }
+            //删除原有Pesticides中model_id的内容
+            (new TestPesticides())->deletePesticidesInfoByTestModelID($model_id);
+            //添加新的Pesticides中model_id的内容
+            (new TestPesticides())->insertPesticidesInfo($pesticides_update_data);
         }
 
-        //更新model_test表中的信息
+        //更新model_test表中的信息(model_name和type_id)
         (new TestModel())->updateModelInfoByModelID($model_id,$model_info);
-        //删除原有Product中model_id的内容
-        (new TestProduct())->deleteProductInfoByTestModelID($model_id);
-        //删除原有Pesticides中model_id的内容
-        (new TestPesticides())->deletePesticidesInfoByTestModelID($model_id);
-
-        //添加新的Product中model_id的内容
-        $updateProductInfo = (new TestProduct())->insertProductInfo($product_update_data);
-        //添加新的Pesticides中model_id的内容
-        $updatePesticidesInfo = (new TestPesticides())->insertPesticidesInfo($pesticides_update_data);
-
-        if ($updateProductInfo == 0) {
-            return showError(config('status.none_model_product'),config('status.none_model_product'));
-        }
-        if ($updatePesticidesInfo == 0) {
-            return showError(config('status.none_model_pesticides'),config('status.none_model_pesticides'));
-        }
+
         return true;
     }
 
@@ -148,24 +148,20 @@ class ModelBus
     }
 
     //删除模型
-    public function deleteModelInfo($del_arr)
+    public function deleteModelInfo($data,$data_count)
     {
-        //验证模型创建者是否一致
-        foreach ($del_arr as $k => $v) {
-            //从数据库获取当前模型的user_id
-            if (empty($v['id'])) {
-                throw new ApiException(config('status.none_model_info'));
-            }
-            $user_id = (new TestModel())->getUserIdByModelID($v['id'])['user_id'];
+        for ($i = 0; $i < $data_count; $i++) {
+            //从数据库获取当前模型的user_id        //验证模型创建者是否一致
+            $user_id = (new TestModel())->getUserIdByModelID($data[$i]['id'])['user_id'];
             if ($user_id != $this->uid) {
                 throw new ApiException(config('status.none_authority'));
             }
             //删除test_model信息
-            (new TestModel())->deleteModelInfoByID($v['id']);
+            (new TestModel())->deleteModelInfoByID($data[$i]['id']);
             //删除test_product信息
-            (new TestProduct())->deleteProductInfoByTestModelID($v['id']);
+            (new TestProduct())->deleteProductInfoByTestModelID($data[$i]['id']);
             //删除test_pesticides信息
-            (new TestPesticides())->deletePesticidesInfoByTestModelID($v['id']);
+            (new TestPesticides())->deletePesticidesInfoByTestModelID($data[$i]['id']);
         }
         return true;
     }

+ 17 - 16
app/api/business/OrganizerTaskBus.php

@@ -25,22 +25,19 @@ class OrganizerTaskBus
     }
 
     //查询任务列表数据
-    public function selectTask($task_class,$pageNum,$pageSize,$data)
+    public function selectTaskList($data)
     {
-        $where=[['unit_id','=',$this->uid],['task_class','=',$task_class]];
-
-        if ($data['year']!='') array_push($where, ['year', '=', $data['year']]);
-        //任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
-        if ($data['ispublic'] != '') array_push($where, ['ispublic', '=', $data['ispublic']]);
-        //任务开始时间
-        if ($data['starttime'] != '') array_push($where, ['starttime', '>=', $data['starttime']]);
-        //任务结束时间
-        if ($data['endtime'] != '') array_push($where, ['endtime', '<=', $data['endtime']]);
-        //任务名称:模糊查询
-        if ($data['task_name'] != '' ) array_push($where, ['task_name', 'LIKE', '%'.$data['task_name'].'%']);
-
-        $data = (new Orgs())->selectCcjcData($where,$pageNum,$pageSize);
-        //$data = (new Ccjc())->selectCcjcAndOrgsData($this->uid);
+        $where=[
+            ['unit_id','=',$this->uid],
+            ['task_class','=',$data['task_class']]
+        ];
+        if ($data['task_name'] != '' ) $where[] = ['task_name', 'LIKE', '%' . $data['task_name'] . '%'];
+        if ($data['ispublic'] != '') $where[] = ['ispublic', '=', $data['ispublic']];
+        if ($data['year']!='') $where[] = ['year', '=', $data['year']];
+        if ($data['starttime'] != '') $where[] = ['starttime', '>=', $data['starttime']];
+        if ($data['endtime'] != '') $where[] = ['endtime', '<=', $data['endtime']];
+
+        $data = (new Orgs())->selectCcjcData($where,$data['pageNum'],$data['pageSize']);
         $count =(new Orgs())->countCcjcData($where);
         return ['rows'=>$data,'total'=>$count];
     }
@@ -54,8 +51,12 @@ class OrganizerTaskBus
     }
 
     //获取任务基本信息
-    public function getTaskInfo($task_id,$pageNum=1,$pageSize=null)
+    public function getTaskInfo($tmp_data)
     {
+        $task_id = $tmp_data['task_id'];
+        $pageNum = $tmp_data['pageNum'];
+        $pageSize = $tmp_data['pageSize'];
+
         $uid=$this->uid;
 //        //判断 在orgs表中的当前任务的id所对应的unit_id是否等于uid
 //        $unit_id = (new Orgs())->getUnitIdByTaskID($task_id)['unit_id'];

+ 2 - 2
app/api/controller/v1/JIanGuan.php

@@ -30,7 +30,7 @@ class JIanGuan
             'task_name' => request()->param('task_name','','trim'),//任务名称
         ];
         try {
-            validate(TaskValidate::class)->scene('getTaskList')->check($data);
+            validate(TaskValidate::class)->scene('selectJgTaskList')->check($data);
         } catch (ValidateException $exception) {
             return showError($exception->getError());
         }
@@ -61,7 +61,7 @@ class JIanGuan
         ];
         $orgs=request()->param('orgs',[],'trim');
         try {
-            validate(TaskValidate::class)->scene('addTaskItem')->check($data);
+            validate(TaskValidate::class)->scene('addJgTaskItem')->check($data);
         } catch (ValidateException $exception) {
             return showError($exception->getError());
         }

+ 41 - 46
app/api/controller/v1/Model.php

@@ -10,6 +10,8 @@ namespace app\api\controller\v1;
 
 //监测模型
 use app\api\business\ModelBus;
+use app\api\validate\ModelValidate;
+use think\exception\ValidateException;
 
 class Model
 {
@@ -22,48 +24,65 @@ class Model
             'pageSize' => request()->param('pageSize', 10, 'int'),
         ];
 
-        //todo validate
-
+        try {
+            validate(ModelValidate::class)->scene('selectQtModelList')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
         $result = (new ModelBus())->selectModelList($data);
         return showSuccess($result);
     }
 
     public function bindModel()
     {
-        $task_id = request()->param('id', '', 'int');
         $data=[
             'endtime_cydsb' => request()->param('endtime_cydsb', '', 'trim'),
             'is_divide'=>request()->param('is_divide', '0', 'int'),
-            'test_model_id' => request()->param('test_model_id', '', 'int')
+            'test_model_id' => request()->param('test_model_id', '', 'int'),
+            'task_id' => request()->param('id', '', 'int'),
+
         ];
-        $result = (new ModelBus())->updateInfoByTaskID($task_id,$data);
+        try {
+            validate(ModelValidate::class)->scene('bindModel')->check($data);
+
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+
+        $result = (new ModelBus())->updateInfoByTaskID($data);
         return showSuccess($result);
     }
 
     //获取模型信息
     public function getModelInfo()
     {
-        $model_id = request()->param('id','','int');
-        $result = (new ModelBus())->getModelInfo($model_id);
+
+        $data['id'] = request()->param('id', '', 'int');
+        try {
+            validate(ModelValidate::class)->scene('getModelInfo')->check($data);
+
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+        $result = (new ModelBus())->getModelInfo($data);
         return showSuccess($result);
     }
 
     //更新模型
     public function updateModelInfo()
     {
+
         //更新testModel;当提交时,修改updatetime
         $model_id = request()->param('id','','int');
-        $model_type_id = request()->param('type_id','','int');
-        $model_name = request()->param('name','','trim');
+        $model_info = [
+            'name' => request()->param('name', '', 'trim'),
+            'type_id' => request()->param('type_id', '', 'int'),
+        ];
 
-        $model_info = ['name' => $model_name, 'type_id' => $model_type_id];
         $product=request()->param('product');
         $pesticides=request()->param('pesticides');
-
-        //todo 下面这个修改在不修改本表时无法自增updatetime,需要修改一下
         //更新模型信息包括三步,1、更新test_model 2、删除&重新添加test_product 3、删除&重新添加test_pesticides
         $result = (new ModelBus())->updateModelInfo($model_id,$model_info,$product,$pesticides);//==true
-
         return showSuccess($result);
     }
 
@@ -84,40 +103,16 @@ class Model
     public function deleteModelInfo()
     {
         $del_arr = request()->param('delarr');
-        $result = (new ModelBus())->deleteModelInfo($del_arr);
-        return showSuccess($result);
-    }
 
-    public function delModel(){
-        $data = $this->request->post();
-        $delarr = $data['delarr'];
-
-        $id = '';
-        for($j = 0; $j<count($delarr) ; $j++){
-            if ($j == 0){
-                $id = $delarr[$j]['id'];
-            }else{
-                $id = $delarr[$j]['id'].",".$id;
-            }
+        $data=[];
+        $data_count=0;
+        foreach ($del_arr as $k => $v) {
+            $data_count+=1;
+            $k = ['id' => $v['id']];
+            $data[]=$k;
         }
-
-        $map=[];
-        $map=[['test_model_id','in',$id]];
-
-        $map1 = [['id','in',$id]];
-
-        $result1 = Db::name("test_product")->where($map)->delete();
-
-        $result2 = Db::name("test_pesticides")->where($map)->delete();
-
-        $result3 = Db::name("test_model")->where($map1)->delete();
-
-
-        if($result1 && $result2 && $result3){
-            return $this->jsonData(0,"信息删除成功");
-        }else{
-            return $this->jsonData(-1,"信息删除失败");
-        }
-        return $this->jsonSuccessData($id);
+        $result = (new ModelBus())->deleteModelInfo($data,$data_count);
+        return showSuccess($result);
     }
+
 }

+ 0 - 54
app/api/controller/v1/Organizer.php

@@ -1,54 +0,0 @@
-<?php
-/**
- *
- *User:Administrator
- *Date:2021/10/12
- */
-
-namespace app\api\controller\v1;
-
-//牵头单位
-
-use app\api\business\OrganizerTaskBus;
-
-class Organizer
-{
-    private $OrganizerTaskBus;
-
-    public function __construct()
-    {
-        $this->OrganizerTaskBus = new OrganizerTaskBus();
-    }
-
-    public function selectTaskList()
-    {
-        $task_class = request()->param('task_class');
-        $pageNum = request()->param('pageNum',1,'int');
-        $pageSize = request()->param('pageSize',10,'int');
-        $data=[
-            'year'=>request()->param('year','','trim'),//年度
-            'ispublic'=>request()->param('ispublic','','trim'),//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
-            'starttime' => request()->param('starttime','','trim'),//任务开始时间
-            'endtime' => request()->param('endtime','','trim'),//任务结束时间
-            'task_name' => request()->param('task_name','','trim'),//任务名称
-        ];
-        $result =$this->OrganizerTaskBus->selectTask($task_class,$pageNum,$pageSize,$data);
-        return showSuccess($result);
-    }
-
-    public function getTaskInfo()
-    {
-        $pageNum = request()->param('pageNum', 1, 'int');
-        $pageSize = request()->param('pageSize', null, 'trim');
-        $task_id = request()->param('task_id');
-        $result = $this->OrganizerTaskBus->getTaskInfo($task_id,$pageNum,$pageSize);
-        return showSuccess($result);
-    }
-
-    public function qtRelease()
-    {
-        $task_id = request()->param('task_id', '', 'int');
-        $result = $this->OrganizerTaskBus->releaseTask($task_id);
-        return showSuccess($result);
-    }
-}

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

@@ -0,0 +1,74 @@
+<?php
+/**
+ *
+ *User:Administrator
+ *Date:2021/10/12
+ */
+
+namespace app\api\controller\v1;
+
+//牵头单位
+
+use app\api\business\OrganizerTaskBus;
+use app\api\validate\TaskValidate;
+use think\exception\ValidateException;
+
+class QianTou
+{
+    private $OrganizerTaskBus;
+
+    public function __construct()
+    {
+        $this->OrganizerTaskBus = new OrganizerTaskBus();
+    }
+
+    public function selectQtTaskList()
+    {
+        $data=[
+            'year'=>request()->param('year','','trim'),//年度
+            'ispublic'=>request()->param('ispublic','','trim'),//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
+            'starttime' => request()->param('starttime','','trim'),//任务开始时间
+            'endtime' => request()->param('endtime','','trim'),//任务结束时间
+            'task_name' => request()->param('task_name','','trim'),//任务名称
+            'task_class'=>request()->param('task_class','','trim'),//任务类型:例行监测,专项监测
+            'pageNum' => request()->param('pageNum', 1, 'int'),
+            'pageSize' => request()->param('pageSize',10, 'int'),
+        ];
+        try {
+            validate(TaskValidate::class)->scene('selectQtTaskList')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+        $result =$this->OrganizerTaskBus->selectTaskList($data);
+        return showSuccess($result);
+    }
+
+    public function getTaskInfo()
+    {
+        $data = [
+            'pageNum' => request()->param('pageNum', 1, 'int'),
+            'pageSize' => request()->param('pageSize',null, 'int'),
+            'task_id' => request()->param('task_id'),
+        ];
+        try {
+            validate(TaskValidate::class)->scene('getTaskInfo')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+
+        $result = $this->OrganizerTaskBus->getTaskInfo($data);
+        return showSuccess($result);
+    }
+
+    public function qtRelease()
+    {
+        $task_id = request()->param('task_id', '', 'int');
+        try {
+            validate(TaskValidate::class)->scene('qtRelease')->check($task_id);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+        $result = $this->OrganizerTaskBus->releaseTask($task_id);
+        return showSuccess($result);
+    }
+}

+ 2 - 2
app/api/controller/v1/TaskCommon.php

@@ -35,8 +35,8 @@ class TaskCommon
 
     public function getTaskInfo()
     {
-        $task_id = request()->param('task_id');
-        $result = $this->OrganizerTaskBus->getTaskInfo($task_id);
+        $data = ['task_id' => request()->param('task_id')];
+        $result = $this->OrganizerTaskBus->getTaskInfo($data);
         return showSuccess($result);
 
     }

+ 5 - 8
app/api/model/Ccjc.php

@@ -41,18 +41,15 @@ class Ccjc extends model{
     {
         $result = Ccjc::hasWhere('undertake', function ($query) use ($where){
             $query->where($where);
-        })->where('task_class','=',$task_class)->select();
+        })->where('task_class','=',$task_class)->page($pageNum,$pageSize)->select();
         return $result;
     }
     public function countUndertakeData($task_class,$where)
     {
-        $Ccjc = new Ccjc();
-        return $Ccjc->where('task_class','=',$task_class)
-            ->with([
-                'undertake'=> function ($query) use ($where){
-                    $query->where($where);
-                }
-            ])->count();
+        $result = Ccjc::hasWhere('undertake', function ($query) use ($where){
+            $query->where($where);
+        })->where('task_class','=',$task_class)->count();
+        return $result;
     }
 
     //查询任务列表数据

+ 2 - 10
app/api/model/Orgs.php

@@ -26,7 +26,7 @@ class Orgs extends Model {
 
     //连表查询对应的ccjc信息
     public function selectCcjcData($where,$pageNum=1,$pageSize=10)
-    {        //todo 模型我写不出来,只能用db了
+    {
         $result= Db::name("orgs")
             ->join('t_ccjc','t_orgs.task_id=t_ccjc.id')
             ->where($where)
@@ -35,7 +35,7 @@ class Orgs extends Model {
         return $result;
     }
     public function countCcjcData($where)
-    {        //todo 模型我写不出来,只能用db了
+    {
         $result= Db::name("orgs")
             ->Join('t_ccjc','t_orgs.task_id=t_ccjc.id')
             ->where($where)
@@ -43,12 +43,4 @@ class Orgs extends Model {
         return $result;
     }
 
-    public function getUnitIdByTaskID($task_id)
-    {
-        if (empty($task_id)) {
-            return false;
-        }
-        return $this->where('task_id', '=', $task_id)->find();
-    }
-
 }

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

@@ -17,10 +17,57 @@ Route::group(function () {
     Route::post(":version.AddTask",":version.JianGuan/addTaskItem");                          //添加任务                 #监管
     Route::post(":version.delTask",":version.JianGuan/deleteTaskItem");                       //删除任务                 #监管
     Route::post(":version.isPublicTask",":version.JianGuan/editTaskUpdateInfo");              //修改任务:发布/废止        #监管
-    Route::post(":version.getJgCydList",":version.Cyd/getJgCydList");                           //监管端查看抽样单           #监管    #抽样单
+    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");    //获取检测对象列表
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -51,29 +98,15 @@ Route::group(function () {
 
 
 
-
-
-    //监测模型相关的路由
-    Route::post(":version.getModelList",":version.Model/selectModelList");    //显示模型配置页面的列表
-    Route::post(":version.saveModel",":version.Model/createModelInfo");       //创建模型信息
-    Route::post(":version.delModel",":version.Model/deleteModelInfo");        //删除模型
-    Route::post(":version.bindModel",":version.Model/bindModel");        //在执行任务中绑定模型
-
-    Route::post(":version.DoEditModelInfo",":version.Model/updateModelInfo"); //修改模型详情
-    Route::post(":version.getModeldetail",":version.Model/getModelInfo");     //获取某个模型的详情信息
-    Route::post(":version.getProductList",":version.Product/selectProductList");    //获取检测对象列表
-    Route::post(":version.getPesticidesList",":version.Pesticides/selectPesticidesList"); //获取检测项列表
     //牵头单位相关路由
-    Route::post(":version.getTaskTest",":version.Organizer/selectTaskList");        //获取牵头单位所属任务
-    Route::post(":version.getTaskDetail",":version.Organizer/getTaskInfo");        //获取任务信息
+
     Route::post(":version.AddUnderTask",":version.Undertaker/createUnderTaker");      //在牵头单位中添加承担单位
     Route::post(":version.delUnderTask",":version.Undertaker/deleteUnderTaskList");      //在牵头单位中获取任务的获取承担单位
-    Route::post(":version.qtRelease",":version.Organizer/qtRelease");        //牵头单位发布任务
 
 
     //承担单位相关路由
     Route::post(":version.getTaskcd",":version.Undertaker/selectUndertakerTaskList");      //承担单位获取承担单位任务列表
-    //Route::post(":version.getTaskDetail",":version.Organizer/getTaskInfo");        //获取任务信息--same牵头单位路由获取任务信息,写在下面了
+    //Route::post(":version.getTaskDetail",":version.QianTou/getTaskInfo");        //获取任务信息--same牵头单位路由获取任务信息,写在下面了
     Route::post(":version.getSampleList",":version.Sample/selectSampleList");        // 查询抽样单详细信息列表
     //Route::post(":version.getUnderTask",":version.index/getUnderTask");      //获取承担单位--same牵头单位路由获取承担单位信息
 

+ 78 - 0
app/api/validate/ModelValidate.php

@@ -0,0 +1,78 @@
+<?php
+
+namespace app\api\validate;
+
+use think\Validate;
+
+class ModelValidate extends Validate
+{
+
+    protected $rule = [
+        'pageNum' => ['require','integer','gt:0'],//页码,gt在内置规则:https://www.kancloud.cn/manual/thinkphp6_0/1037629#_232
+        'pageSize' => ['require','integer','gt:0'],//每页显示数量
+        'type_id'=>['require','in:1,2,3,4'],//模型所属行业:1.种植业 2.畜牧业 3.渔业 4.其他
+        'task_id' => ['require', 'gt:0'],//任务id
+        'test_model_id' => ['require', 'gt:0'],//ccjc绑定模型id
+        'endtime_cydsb' => ['require', 'date'],//抽样单上报截止日期
+        'is_divide' => ['require', 'in:0,1'],//抽检分离状态:0分离,1不分离
+        'id' => ['require','integer','gt:0'],//模型id
+
+    ];
+
+    protected $message = [
+        'pageNum' => [
+            'require' => ['0' => 500101, '1' => '页码错误'],//关联任务id
+            'integer' => ['0' => 500102, '1' => '页码错误'],
+            'gt' => ['0' => 500103, '1' => '页码错误'],
+        ],
+        'pageSize' => [
+            'require' => ['0' => 500104, '1' => '页码错误'],//关联任务id
+            'integer' => ['0' => 500105, '1' => '页码错误'],
+            'gt' => ['0' => 500106, '1' => '页码错误'],
+        ],
+        'type_id'=>[
+            'require' => ['0' => 500201, '1' => '行业错误'],
+            'in' => ['0' => 500202, '1' => '行业范围错误'],
+        ],
+        'endtime_cydsb' => [
+            'require' => ['0' => 500301, '1' => '请选择截止日期'],
+            'date' => ['0' => 500302, '1' => '截至日期格式错误'],
+        ],
+        'is_divide' => [
+            'require' => ['0' => 500401, '1' => '请选择抽检是否分离'],
+            'in' => ['0' => 500402, '1' => '抽检分离错误'],
+        ],
+        'test_model_id' => [
+            'require' => ['0' => 500501, '1' => '任务绑定模型错误'],
+            'gt' => ['0' => 500502, '1' => '任务绑定模型错误'],
+        ],
+        'task_id'=>[
+            'require' => ['0' => 500601, '1' => '任务信息异常'],
+            'gt' => ['0' => 500602, '1' => '任务信息异常'],
+        ],
+        'id' => [
+            'require' => ['0' => 500701, '1' => '模型选择信息错误'],//模型id
+            'integer' => ['0' => 500702, '1' => '模型选择信息错误'],
+            'gt' => ['0' => 500703, '1' => '模型选择信息错误'],
+        ],
+
+
+    ];
+
+    public function sceneSelectQtModelList()
+    {
+        return $this->only(['pageNum', 'pageSize', 'type_id'])
+            ->remove('type_id', 'require');
+    }
+
+    public function sceneBindModel()
+    {
+        return $this->only(['endtime_cydsb', 'is_divide', 'test_model_id', 'task_id']);
+    }
+
+    //获取模型信息
+    public function sceneGetModelInfo()
+    {
+        return $this->only(['id']);
+    }
+}

+ 77 - 48
app/api/validate/TaskValidate.php

@@ -30,46 +30,62 @@ class TaskValidate extends Validate
     ];
 
     protected $message = [
-        'id.require'=>['0' => 200000, '1'=>'传参错误'],
-        'id.integer'=>['0' => 200001, '1'=>'传参错误'],
-        'id.gt'=>['0' => 200002, '1'=>'传参错误'],
+        'id' => [
+            'require'=>['0' => 200000, '1'=>'传参错误'],
+            'integer'=>['0' => 200001, '1'=>'传参错误'],
+            'gt'=>['0' => 200002, '1'=>'传参错误'],
+        ],
+        'pageNum' => [
+            'require'=>['0' => 200100, '1'=>'页码不能为空'],
+            'integer'=>['0' => 200101, '1'=>'页码必须为整数'],
+            'gt'=>['0' => 200102, '1'=>'页码必须大于0'],
+        ],
+        'pageSize' => [
+            'require'=>['0' => 200200, '1'=>'每页显示数量不能为空'],
+            'integer'=>['0' => 200201, '1'=>'每页显示数量必须为整数'],
+            'gt'=>['0' => 200202, '1'=>'每页显示数量必须大于0'],
+        ],
+        'task_class' => [
+            'require' => ['0' => 200300, '1' => '任务类别不能为空'],//任务列表:例行监测  专项监测
+            'in' => ['0' => 200301, '1' => '任务类别错误'],
+        ],
+        'year' => [
+            'require'=>['0' => 200400, '1'=>'任务年度不能为空'],//年度
+            'date'=>['0' => 200401, '1'=>'任务年度格式错误'],
+        ],
+        'ispublic' => [
+            'require'=>['0' => 200500, '1'=>'任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
+            'in'=>['0' => 200501, '1'=>'任务状态选择错误'],
+        ],
+        'starttime' => [
+            'require'=>['0' => 200600, '1'=>'任务开始时间不能为空'],//任务开始时间
+            'in'=>['0' => 200601, '1'=>'任务开始时间格式错误'],
+        ],
+        'endtime' => [
+            'require'=>['0' => 200600, '1'=>'任务结束时间不能为空'],//任务结束时间
+            'in'=>['0' => 200601, '1'=>'任务结束时间格式错误'],
+        ],
+        'task_name' => [
+            'require'=>['0' => 200800, '1'=>'任务名称不能为空'],//任务名称
+            'chsDash'=>['0' => 200801, '1'=>'任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
+            'length'=>['0' => 200802, '1'=>'任务名称长度在4至50个字符之间'],//任务名称
+        ],
+        'level' => [
+            'require'=>['0' => 200900, '1'=>'任务优先级不能为空'],//任务优先级,0:一般,1:紧急,2:特急
+            'in'=>['0' => 200901, '1'=>'任务优先级格式错误'],//任务优先级,0:一般,1:紧急,2:特急
+        ],
+        'batch' => [
+            'require'=>['0' => 201000, '1'=>'批次不能为空'],//批次,一季度,二季度,三季度,四季度
+            'in'=>['0' => 201000, '1'=>'批次格式错误'],
+        ],
+
+        'main_unit' => [
+            'require' => ['0' => 201200, '1' => '牵头单位不能为空'],//牵头单位
+        ],
+
+        //  'releaser.require'=>['0' => 201100, '1'=>'发布单位不能为空'], //发布单位/
+        //'releaser.in'=>['0' => 201101, '1'=>'发布单位禁止填写'], //发布单位/
 
-        'pageNum.require'=>['0' => 200100, '1'=>'页码不能为空'],
-        'pageNum.integer'=>['0' => 200101, '1'=>'页码必须为整数'],
-        'pageNum.gt'=>['0' => 200102, '1'=>'页码必须大于0'],
-
-        'pageSize.require'=>['0' => 200200, '1'=>'每页显示数量不能为空'],
-        'pageSize.integer'=>['0' => 200201, '1'=>'每页显示数量必须为整数'],
-        'pageSize.gt'=>['0' => 200202, '1'=>'每页显示数量必须大于0'],
-
-        'task_class.require'=>['0' => 200300, '1'=>'任务类别不能为空'],//任务列表:例行监测  专项监测
-        'task_class.in'=>['0' => 200301, '1'=>'任务类别错误'],//任务列表:例行监测  专项监测
-
-        'year.require'=>['0' => 200400, '1'=>'任务年度不能为空'],//年度
-        'year.date'=>['0' => 200401, '1'=>'任务年度格式错误'],//年度
-
-        'ispublic.require'=>['0' => 200500, '1'=>'任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
-        'ispublic.in'=>['0' => 200501, '1'=>'任务状态选择错误'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
-
-        'starttime.require'=>['0' => 200600, '1'=>'任务开始时间不能为空'],//任务开始时间
-        'starttime.date'=>['0' => 200601, '1'=>'任务开始时间格式错误'],//任务开始时间
-        'endtime.require'=>['0' => 200700, '1'=>'任务结束时间不能为空'],//任务结束时间
-        'endtime.date'=>['0' => 200701, '1'=>'任务结束时间格式错误'],//任务结束时间
-
-        'task_name.require'=>['0' => 200800, '1'=>'任务名称不能为空'],//任务名称
-        'task_name.chsDash'=>['0' => 200801, '1'=>'任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
-        'task_name.length'=>['0' => 200802, '1'=>'任务名称长度在4至50个字符之间'],//任务名称
-
-        'level.require'=>['0' => 200900, '1'=>'任务优先级不能为空'],//任务优先级,0:一般,1:紧急,2:特急
-        'level.in'=>['0' => 200901, '1'=>'任务优先级格式错误'],//任务优先级,0:一般,1:紧急,2:特急
-
-        'batch.require'=>['0' => 201000, '1'=>'批次不能为空'],//批次,第一季度,第二季度,第三季度,第四季度
-        'batch.in'=>['0' => 201000, '1'=>'批次格式错误'],//批次,第一季度,第二季度,第三季度,第四季度
-
-      //  'releaser.require'=>['0' => 201100, '1'=>'发布单位不能为空'], //发布单位//todo 固定好的,禁止修改,不需要传参
-        //'releaser.in'=>['0' => 201101, '1'=>'发布单位禁止填写'], //发布单位//todo 固定好的,禁止修改,不需要传参
-
-        'main_unit.require'=>['0' => 201200, '1'=>'牵头单位不能为空'],//牵头单位
         //'filenum.require'=>['0' => 201300, '1'=>'文件号不能为空'],//文件号---选填
         //'log.require'=>['0' => 201400, '1'=>'备注不能为空'],//备注---选填
         //'file_url.require'=>['0' => 201500, '1'=>'附件地址不能为空'],//附件地址
@@ -77,8 +93,8 @@ class TaskValidate extends Validate
     ];
 
 
-    // getTaskList 验证场景定义
-    public function sceneGetTaskList()
+    // 监管端 获取任务列表 验证场景定义
+    public function sceneSelectJgTaskList()
     {
         return $this->only(['task_class','pageNum','pageSize','year' ,'ispublic','starttime','endtime'])
             ->remove('year', 'require')
@@ -87,20 +103,33 @@ class TaskValidate extends Validate
             ->remove('endtime', 'require');
     }
 
-    public function sceneAddTaskItem()
+    //监管端 添加任务 验证场景定义
+    public function sceneAddJgTaskItem()
     {
         return $this->only(['task_name', 'level', 'year', 'batch', 'starttime', 'endtime', 'filenum', 'task_class', 'ispublic', 'main_unit']);
     }
 
-    public function sceneEditTaskUpdateInfo()
+    // 牵头单位 获取任务列表 验证场景定义
+    public function sceneSelectQtTaskList()
     {
-        return $this->only(['id','ispublic']);
+        return $this->only(['task_class', 'task_name', 'year', 'ispublic', 'starttime', 'endtime', 'pageNum', 'pageSize'])
+            ->remove('task_name', 'require|length')
+            ->remove('year', 'require')
+            ->remove('ispublic', 'require')
+            ->remove('starttime', 'require')
+            ->remove('endtime', 'require');
     }
 
-    protected $scene =[
-        //'getTaskList' => ['task_class','pageNum','year' ],
-        //'addTaskItem' => ['task_name','level','year','batch','starttime','endtime','filenum','log','file_name','file_url','releaser','task_class','ispublic','main_unit'],
+    public function sceneGetTaskInfo()
+    {
+        return $this->only(['pageNum', 'pageSize', 'task_id'])
+            ->remove('pageSize', 'require');
+    }
 
-    ];
+    //牵头单位 发布任务 验证场景定义
+    public function sceneQtRelease()
+    {
+        return $this->only['task_id'];
+    }
 
 }