فهرست منبع

修复监管端代码

gbsong 3 سال پیش
والد
کامیت
44fc844fe7

+ 7 - 5
app/api/business/CydBus.php

@@ -34,15 +34,17 @@ class CydBus
         return $cyd_item;
     }
 
-    public function getCydByTaskIdAndUnitId($data,$page)
+    public function getCydByTaskIdAndUnitId($data)
     {
         $where = [
             ['cyd.task_id','=',$data['task_id']],
-            ['unit_id','=',$data['unit_id']]
         ];
-
-        $jg_cyd_list = (new Cyd())->getCydListDetail($where,$page['pageNum'],$page['pageSize']);
-        return $jg_cyd_list;
+        if ($data['unit_id'] != '') {
+            $where[]=['unit_id','=',$data['unit_id']];
+        }
+        $jg_cyd_list = (new Cyd())->getCydListDetail($where,$data['pageNum'],$data['pageSize']);
+        $jg_cyd_count = (new Cyd())->countCydListDetail($where);
+        return ['rows'=>$jg_cyd_list,'total'=>$jg_cyd_count];
     }
 
 }

+ 55 - 21
app/api/business/SuperviserTaskBus.php

@@ -49,7 +49,7 @@ class SuperviserTaskBus
     //创建任务
     public function createTask($data,$orgs_data)
     {
-        $data['releaser'] = $this->rymc;
+        $data['creater'] = $this->rymc;
         //创建任务
         $task_id = (new Ccjc())->createTask($data);
 
@@ -64,39 +64,73 @@ class SuperviserTaskBus
     }
 
     //删除任务
-    public function deleteTask($arr_del_task)
+    public function deleteTaskItem($data,$data_count)
     {
-        //根据ID检索创建者
-        $releaser = (new Ccjc())->getReleaserById($arr_del_task);
-        if (empty($releaser)) {
-            throw new ApiException(config('status.none_data'));
+        for ($i = 0; $i < $data_count; $i++) {
+            //从数据库中查询选取的数据
+            $task_info[$i] = (new Ccjc())->getTaskInfoByTaskID($data[$i]['id']);
         }
-        //将创建者releaser和token中的rymc匹配,不相等则throw无权限操作
-        foreach ($releaser as $k => $v) {
-            if (strcmp($this->rymc, $v) != 0) {
+
+        //将数据库中的数据和选取的数据进行校验
+        for ($i = 0; $i < $data_count; $i++) {
+            //如果查询结果存在null值,则未选取有效数据
+            if ($task_info[$i] == null) {
+                throw new ApiException(config('status.none_data'));
+            }
+            //判断操作者是否具有操作权限(是否为创建者)
+            if ($task_info[$i]['creater'] != $this->rymc) {
                 throw new ApiException(config('status.none_authority'));
             }
         }
+
         //进行删除操作
-        $result = (new Ccjc())->deleteTaskByID($arr_del_task);
-        return $result;
+        for ($i = 0; $i < $data_count; $i++) {
+            $result[$i] = (new Ccjc())->deleteItemById($data[$i]['id']);//删除的结果为布尔值
+        }
+
+        //检查删除结果是否都为真
+        for ($i = 0; $i < $data_count; $i++) {
+            if ($result[$i] != 1) {
+                throw new ApiException(config('status.data_abnormal'));
+            }
+        }
+
+        return '成功删除'."$data_count".'条数据';
     }
 
-    public function updateTask($data)
+
+    //修改任务发布状态(发布/废止)
+    public function updateTaskUpdateInfo($data,$data_count)
     {
-        //过滤字段,保留id,ispublic,releaser
-        $arr = (new Arr())->Arr_columns($data, 'id,ispublic,releaser');
 
-        //校验 任务状态 && 操作权限
-        foreach ($arr as $k=>$value) {
-            if ($value['ispublic'] != 1) {
-                throw new ApiException(config('status.err_public_status'));
+        //从数据库中获取任务信息
+        for ($i = 0; $i < $data_count; $i++) {
+            $task[$i]=(new Ccjc())->getTaskInfoByTaskID($data[$i]['id'])->toArray();
+        }
+
+        //是否发布,0:未发布,1:已发布,2:废止;3:已结束未完成;4:已结束已完成;5:执行中
+        for ($i = 0; $i < $data_count; $i++) {
+            //只有未发布的,状态可以变成发布(0->1)
+            if ($data[$i]['ispublic']==1 && $task[$i]['ispublic'] != 0) {
+                throw new ApiException(config('status.err_enPublic_status'));//当前任务不可发布
             }
-            if (strcmp($value['releaser'], $this->rymc) != 0) {
-                throw new ApiException(config('status.none_authority'));
+            //只已发布的,状态可以变成废止(1->2)
+            if ($data[$i]['ispublic'] == 2 && $task[$i]['ispublic'] != 1) {
+                throw new ApiException(config('status.err_disPublic_status'));//当前任务不可废止
             }
+            //只有创建者creater是当前操作员才可以发布
+            if ($task[$i]['creater'] != $this->rymc) {
+                throw new ApiException(config('status.none_authority'));//无权操作此项数据
+            }
+        }
+
+        //将releaser赋值为当前操作者的人员名称
+        for ($i = 0; $i < $data_count; $i++) {
+            $data[$i]['releaser'] = $this->rymc;
         }
-        $result = (new Ccjc())->updateTaskByArrCondition($arr);
+
+        //写入数据库
+        $result = (new Ccjc())->updateTaskByArrCondition($data);
         return $result;
     }
 }

+ 11 - 15
app/api/controller/v1/Cyd.php

@@ -9,24 +9,17 @@ namespace app\api\controller\v1;
 
 use app\api\business\CydBus;
 use app\api\business\SampleBus;
+use app\api\validate\CydValidate;
 use think\exception\ValidateException;
 
+
 class Cyd
 {
     //监管端获取抽样单列表
     public function getCydList()
     {
         $task_id = request()->param('task_id', '', 'int');
-//        try {
-//            validate(\app\api\validate\Sample::class)->scene('get_cyd_list')->check($task_id);
-//        } catch (ValidateException $exception) {
-//            return show(config('status.err_validate'),$exception->getError());
-//        }
-
         $result = (new CydBus())->getCydList($task_id);
-//        if ($result['total'] == 0) {
-//            return showError(config('status.none_cyd_info'));
-//        }
         return showSuccess($result);
     }
 
@@ -47,20 +40,23 @@ class Cyd
         return showSuccess($undertake_id['undertake_id']);
     }
 
+
     public function getJgCydList()
     {
         $data = [
             'task_id' => request()->param('task_id', '', 'int'),//任务id
             'unit_id' => request()->param('unit_id', '', 'int'),//牵头单位id
+            'pageNum' => request()->param('pageNum', '1', 'int'),
+            'pageSize' => request()->param('pageSize', '10', 'int'),
         ];
-        $page=[
-            'pageNum' => request()->param('pageNum', 1, 'int'),
-            'pageSize' => request()->param('pageSize', null, 'int'),
 
-        ];
-        $result = (new CydBus())->getCydByTaskIdAndUnitId($data,$page);
+        try {
+            validate(CydValidate::class)->scene('getJgCydList')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
+        $result = (new CydBus())->getCydByTaskIdAndUnitId($data);
         return showSuccess($result);
-
     }
 
 

+ 45 - 19
app/api/controller/v1/Superviser.php → app/api/controller/v1/JIanGuan.php

@@ -8,34 +8,39 @@
 namespace app\api\controller\v1;
 
 use app\api\business\SuperviserTaskBus;
-use app\api\business\TestUnitBus;
+use app\api\validate\TaskValidate;
+use think\exception\ValidateException;
 
 //监管单位
-class Superviser
+class JIanGuan
 {
 
     //查找任务
-    public function select()
+    public function getTaskList()
     {
         //获取请求参数
         $data=[
             'pageNum' => request()->param('pageNum',1,'trim'),//页码
             'pageSize' => request()->param('pageSize',10,'trim'),//每页显示数量
-            'task_class' => request()->param('task_class','例行监测','trim'),//任务列表:例行监测  专项监测
+            'task_class' => request()->param('task_class','','trim'),//任务列表:例行监测  专项监测
             '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'),//任务名称
         ];
-        //todo validate
+        try {
+            validate(TaskValidate::class)->scene('getTaskList')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
 
         $res= (new SuperviserTaskBus())->selectTask($data);
         return showSuccess($res);
     }
 
     //添加任务
-    public function create()
+    public function addTaskItem()
     {
         //获取请求参数
         $data=[
@@ -49,34 +54,55 @@ class Superviser
             'log' => request()->param('log', '', 'trim'),//备注---选填
             'file_url' => request()->param('file_url'),//附件地址
             'file_name' => request()->param('file_name', '', 'trim'),//附件名称
-            'releaser' => request()->param('releaser', '', 'trim'),//发布单位//todo 固定好的,禁止修改,不需要传参
+            'releaser' => request()->param('releaser', '', 'trim'),//发布单位
             'task_class' => request()->param('task_class', '', 'trim'),//任务类型:task_class
-            'ispublic' => request()->param('ispublic', 0, 'trim'),//发布状态 
-            'main_unit' => request()->param('main_unit', '', 'trim'),//牵头单位 //是orgs的name字段 二班,三班,四班,
+            'ispublic' => request()->param('ispublic', 0, 'trim'),//发布状态
+            'main_unit' => request()->param('main_unit', '', 'trim'),//牵头单位 在orgs表中
         ];
-        $orgs=request()->param('orgs', '', 'trim');
+        $orgs=request()->param('orgs',[],'trim');
+        try {
+            validate(TaskValidate::class)->scene('addTaskItem')->check($data);
+        } catch (ValidateException $exception) {
+            return showError($exception->getError());
+        }
 
-        //todo validate
         $res= (new SuperviserTaskBus())->createTask($data,$orgs);
         return showSuccess($res);
     }
 
 
     //删除任务
-    public function delete()
+    public function deleteTaskItem()
     {
-        //获取需要删除的数据的id号码
-        $arr_del_task=request()->param('delarr', '', 'trim');
-        $result = (new SuperviserTaskBus())->deleteTask($arr_del_task);
+        $req_data=request()->param('delarr',[],'trim');
+        $data=[];
+        $data_count=0;
+        foreach ($req_data as $k => $v) {
+            $data[$k] = ['id' => $v];
+            $data_count+=1;
+        }
+        $result = (new SuperviserTaskBus())->deleteTaskItem($data,$data_count);
         return showSuccess($result);
-
     }
 
     //修改任务
-    public function update()
+    public function editTaskUpdateInfo()
     {
-        $data = request()->param('pubarr', '', 'trim');
-        $result = (new SuperviserTaskBus())->updateTask($data);
+
+        $data = [];
+        $data_count = 0;
+        $request_data = request()->param('pubarr', []);
+        foreach ($request_data as $k0 => $v0) {
+            $data[$k0] = [
+                'id' => $v0['id'],
+                'ispublic'=>$v0['ispublic'],
+                'releaser' => $v0['releaser'],
+                'creater' => $v0['creater'],
+            ];
+            $data_count+=1;
+        }
+
+        $result = (new SuperviserTaskBus())->updateTaskUpdateInfo($data,$data_count);
         return showSuccess($result);
     }
 

+ 3 - 3
app/api/controller/v1/Login.php

@@ -8,7 +8,7 @@
 namespace app\api\controller\v1;
 
 use app\api\business\LoginBus;
-use app\api\validate\User;
+use app\api\validate\UserValidate;
 use app\BaseController;
 use think\exception\ValidateException;
 
@@ -23,9 +23,9 @@ class Login extends BaseController
             'password'=>$this->request->param('pwd', '', 'trim'),
         ];
         try {
-            validate(User::class)->scene('login')->check($data);
+            validate(UserValidate::class)->scene('login')->check($data);
         } catch (ValidateException $exception) {
-            return show(config('status.err_validate'),$exception->getError());
+            return showError($exception->getError());
         }
         $res=(new LoginBus())->login($data['username'],$data['password']);
         return showSuccess($res);

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

@@ -1,5 +1,6 @@
 <?php
 namespace app\api\model;
+use think\Collection;
 use think\Model;
 
 /**
@@ -67,6 +68,10 @@ class Ccjc extends model{
 
 
     //删除任务
+    public function deleteItemById($task_id)
+    {
+        return $this->where('id', '=', $task_id)->delete();
+    }
     public function deleteTaskByID($id)
     {
         if (empty($id)) {
@@ -75,11 +80,7 @@ class Ccjc extends model{
         return $this->select($id)->delete();
     }
 
-    //根据id查询任务发布者releaser
-    public function getReleaserById($id)
-    {
-        return $this->select($id)->column('releaser');
-    }
+
 
     //添加任务 返回添加数据的主键id
     public function createTask($data)
@@ -90,6 +91,19 @@ class Ccjc extends model{
     {
         return $this->where('id','=',$task_id)->find();
     }
+
+    public function selectInfoByTaskId($task_id_arr)
+    {
+        return $this->select($task_id_arr);
+    }
+
+    //根据id查询任务发布者releaser
+    public function getCreaterById($id)
+    {
+        return $this->select($id)->column('releaser');
+    }
+
+
     public function updateInfoByTaskID($task_id, $data)
     {
         return $this->where('id', '=', $task_id)->save($data);

+ 20 - 0
app/api/model/Cyd.php

@@ -54,6 +54,26 @@ class Cyd extends Model
             ->select();
         return $result;
     }
+    public function countCydListDetail($where,$pageNum=1,$pageSize=null)
+    {
+        $result = $this
+            ->alias('cyd')
+            ->field('sample_id,sample_name,cyd.task_id,place,sample_date,sample_status,test_status,brand,level,sample_base,sample_ground,unit_id as lead_id')
+
+            ->leftjoin('t_undertake a','a.id=cyd.undertake_id')
+            ->field('bear_name,check_name,report_name,a.task_id as underTake_task_id')            //bear-抽样单位,report-报告单位,check-检测单位
+
+            ->leftjoin('t_jcdw e','e.id=a.unit_id')
+            ->field('e.name lead_name')//lead_name牵头单位名称
+
+
+            ->leftjoin('t_unit_test b','cyd.id=b.cyd_id')//受检单位
+            ->leftjoin('t_unit_production d','cyd.id=d.cyd_id')//生产单位
+            ->field('unit_test_name,unit_production_name,cyd.undertake_id')
+            ->where($where)
+            ->count();
+        return $result;
+    }
 
     public function getCydListByUndertakeId($undertake_id,$pageNum,$pageSize)
     {

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

@@ -12,6 +12,20 @@ Route::group(function () {
 })->allowCrossDomain();
 
 Route::group(function () {
+    //监管端
+    Route::post(":version.getTaskList",":version.JianGuan/getTaskList");                      //获取任务列表              #监管
+    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.getJcdList",":version.Jcd/getJcdList");        //获取检测单列表
     Route::post(":version.getJcdObjectItem",":version.Jcd/getJcdObjectItem");        //填报检测单
@@ -21,16 +35,6 @@ Route::group(function () {
 
 
 
-    //监管单位路由
-    Route::post(":version.AddTask",":version.superviser/create");        //增 添加任务
-    Route::post(":version.delTask",":version.superviser/delete");        //删 删除任务
-    Route::post(":version.isPublicTask",":version.superviser/update");        //改 修改任务状态(发布状态)
-    Route::post(":version.getTaskList",":version.superviser/select");        //查找:监管端渲染任务列表-ok
-
-
-    //监管端操作
-    Route::post(":version.getJgCydList",":version.Cyd/getJgCydList");        //监管端查看抽样单
-
 
 
 

+ 116 - 0
app/api/validate/CydValidate.php

@@ -0,0 +1,116 @@
+<?php
+
+namespace app\api\validate;
+
+use think\Validate;
+
+class CydValidate extends Validate
+{
+    protected $rule = [
+        'id'=>['require'],//id
+        'uid'=>['require','integer','gt:0'],//userId
+        'task_id' => ['require','gt:0'],//关联任务id
+        'undertake_id'=>['require','integer','gt:0'],//对应undertake表的id
+        'unit_id'=>['require','gt:0'],//牵头单位id、、在orgs表中
+        'units_id'=>['require','integer','gt:0'],//受检单位id
+        'test_id'=>['require','integer','gt:0'],//检测单位id
+        'product_unit'=>['require','integer','gt:0'],//生产单位id
+        'sample_unit'=>['require','integer','gt:0'],//抽样单位id
+        'pageNum' => ['require','gt:0'],//页码,gt在内置规则:https://www.kancloud.cn/manual/thinkphp6_0/1037629#_232
+        'pageSize' => ['require','gt:0'],//每页显示数量
+
+
+        'sample_name'=>['require'],//样品名称
+        'sample_id'=>['require'],//样品编号
+        'sample_ground'=>['require'],//抽样场所
+        'brand'=>['require'],//商标
+        'ispack'=>['require'],//是否包装,有,无
+        'level'=>['require'],//等级
+        'islogo'=>['require'],//是否标识:有无
+        'production_date'=>['require'],//生产日期或批次号
+        'place'=>['require'],//产地
+        'certicfie'=>['require'],//认证情况,绿色有机,无公害,其他
+        'certifie_num'=>['require'],//证书编号
+        'sample_num'=>['require'],//抽样数量
+        'sample_num_unit'=>['require'],//抽样数量单位
+
+        'base'=>['require'],//检测任务依据
+        'sample_date'=>['require'],//抽样时间
+        'sample_base'=>['require'],//抽样基数
+        'sample_base_unit'=>['require'],//抽样基数单位
+        'type'=>['require'],//规格型号
+        'standard'=>['require'],//执行标准
+        'createtime'=>['require'],//创建时间
+        'file_url'=>['require'],//附件链接
+        'file_name'=>['require'],//附件名
+        'jc_value_id'=>['require'],//检测项id
+        'test_result'=>['require'],//是否合格,合格1,不合格0
+        'test_status'=>['require'],//检测信息是否上报,1上报0未上报
+        'sample_status'=>['require'],//状态:1已上报,0未上报
+    ];
+    protected $message = [
+        'id.require'=>[
+            'require' => ['0' => 300000, '1' => '传参错误'],//id
+            'integer' => ['0' => 300001, '1' => '传参错误'],
+            'gt' => ['0' => 300002, '1' => '传参错误'],
+        ],
+        'uid.require'=>[
+            'require' => ['0' => 300100, '1' => '传参错误'],//userId
+            'integer' => ['0' => 300101, '1' => '传参错误'],
+            'gt' => ['0' => 300102, '1' => '传参错误'],
+        ],
+        'task_id' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//关联任务id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'undertake_id' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//对应undertake表的id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'unit_id' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//关联任务id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'units_id' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//受检单位id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'test_id' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//检测单位id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'product_unit' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//生产单位id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'sample_unit' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//抽样单位id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'pageNum' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//关联任务id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+        'pageSize' => [
+            'require' => ['0' => 300200, '1' => '传参错误'],//关联任务id
+            'integer' => ['0' => 300201, '1' => '传参错误'],
+            'gt' => ['0' => 300202, '1' => '传参错误'],
+        ],
+
+    ];
+
+    public function sceneGetJgCydList()
+    {
+        return $this->only(['task_id', 'unit_id', 'pageNum', 'pageSize'])
+            ->remove('unit_id', 'require');
+    }
+
+}

+ 1 - 1
app/api/validate/Sample.php → app/api/validate/SampleValidate.php

@@ -9,7 +9,7 @@ namespace app\api\validate;
 
 use think\Validate;
 
-class Sample extends Validate
+class SampleValidate extends Validate
 {
 
     protected $rule = [

+ 106 - 0
app/api/validate/TaskValidate.php

@@ -0,0 +1,106 @@
+<?php
+
+namespace app\api\validate;
+
+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'],//每页显示数量
+        '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'], //发布单位
+        'main_unit' => 'require',//牵头单位
+//        'filenum' => 'require',//文件号---选填
+//        'log' => 'require',//备注---选填
+//        'file_url' => 'require',//附件地址
+//        'file_name' => 'require',//附件名称
+
+
+    ];
+
+    protected $message = [
+        'id.require'=>['0' => 200000, '1'=>'传参错误'],
+        'id.integer'=>['0' => 200001, '1'=>'传参错误'],
+        'id.gt'=>['0' => 200002, '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'=>'附件地址不能为空'],//附件地址
+        //'file_name.require'=>['0' => 201600, '1'=>'附件名称不能为空'],//附件名称
+    ];
+
+
+    // getTaskList 验证场景定义
+    public function sceneGetTaskList()
+    {
+        return $this->only(['task_class','pageNum','pageSize','year' ,'ispublic','starttime','endtime'])
+            ->remove('year', 'require')
+            ->remove('ispublic', 'require')
+            ->remove('starttime', 'require')
+            ->remove('endtime', 'require');
+    }
+
+    public function sceneAddTaskItem()
+    {
+        return $this->only(['task_name', 'level', 'year', 'batch', 'starttime', 'endtime', 'filenum', 'task_class', 'ispublic', 'main_unit']);
+    }
+
+    public function sceneEditTaskUpdateInfo()
+    {
+        return $this->only(['id','ispublic']);
+    }
+
+    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'],
+
+    ];
+
+}

+ 3 - 3
app/api/validate/User.php → app/api/validate/UserValidate.php

@@ -9,7 +9,7 @@ namespace app\api\validate;
 
 use think\Validate;
 
-class User extends Validate
+class UserValidate extends Validate
 {
 
     protected $rule = [
@@ -19,8 +19,8 @@ class User extends Validate
     ];
 
     protected $message = [
-        'username.require' => '用户名不能为空',
-        'password.require' => '密码不能为空',
+        'username.require' =>  ['0' => 10001, '1' => '名称必须'],
+        'password.require' => ['0' => 10002, '1' => '密码必须'],
     ];
 
     protected $scene =[

+ 0 - 1
app/common.php

@@ -17,7 +17,6 @@ function show($code,$msg,$data=[],$httpStatus=200)
     ];
     return json($result,$httpStatus);
 }
-
 function showSuccess($data = [],$httpStatus=200)
 {
     $result=[

+ 7 - 3
config/status.php

@@ -20,9 +20,11 @@ return [
     'err_params'=>['300','参数错误'],
 
     //数据操作有关错误
-    'none_authority' => ['400', '无权操作'],
+    'none_authority' => ['400', '无权操作此项数据'],
     'none_data' => ['401', '未选取有效数据'],
-    'err_public_status'=>['402','当前任务不可废止'],
+    'data_abnormal' => ['402', '操作数据异常,请检查操作结果'],
+    'err_enPublic_status'=>['403','当前任务不可发布'],
+    'err_disPublic_status'=>['403','当前任务不可废止'],
     'err_data_upload' => ['4004', '数据上传失败,请重试'],
     'err_reUpload_data'=>['4005','禁止重复上传数据'],
     'err_none_auth_upload_data'=>['4006','无权上传数据,请联系管理员'],
@@ -40,7 +42,9 @@ return [
     'err_task_auth'=>['3004','权限不足,无法操作该任务'],
 
     //api-validate异常抛出
-    'err_validate'=>'999',
+    //相关定义在validate的class中,共6位数字,1000+01~1000+99;前4位为大类状态,后2位为类别的验证规则。如1000表示age|require,01表示number,02表示>0。。
+    //User.php从10000---19999
+    //Task.php从20000---29999
 
     //抽样单相关错误
     'none_cyd_info' => ['4004', '无抽样单信息'],