ggsong há 3 anos atrás
pai
commit
f92eaefc86

+ 19 - 3
app/api/business/SampleBus.php

@@ -32,14 +32,30 @@ class SampleBus
         return $result;
     }
 
-    public function selectSampleList($task_id,$pageNum,$pageSize)
+    public function selectSampleList($data)
     {
         $uid = $this->uid;
+
+
         $where=[
-            ['task_id', '=', $task_id],
+            ['cyd.task_id', '=', $data['task_id']],//这里绑定成cyd.task_id进行查询
             ['uid', '=', $uid]
         ];
-        $result = (new Cyd())->selectSampleListByTaskIdAndUid($where, $pageNum, $pageSize);
+        if ($data['sample_name']!='') $where[]=['sample_name', 'LIKE', '%'.$data['sample_name'].'%'];//样品名称
+        if ($data['sample_id']!='') $where[]=['sample_id', 'LIKE', '%'.$data['sample_id'].'%'];//样品编码
+        if ($data['sample_ground']!='') $where[]=['sample_ground', 'LIKE', '%'.$data['sample_ground'].'%'];//抽样场所
+
+
+        //bear-抽样单位,report-报告单位,check-检测单位
+
+        if($data['unit_test_name']!='') $where[]=['unit_test_name','LIKE','%'.$data['unit_test_name'].'%'];//受检单位名称
+        if($data['unit_sample_name']!='') $where[]=['unit_sample_name','LIKE','%'.$data['unit_sample_name'].'%'];//抽样单位名称
+        if($data['unit_production_name']!='') $where[]=['unit_production_name','LIKE','%'.$data['unit_production_name'].'%'];//生产单位名称
+
+        if($data['sample_data']!='') $where[]=['sample_date','=',$data['sample_data']];//抽样日期
+
+
+        $result = (new Cyd())->selectSampleListByTaskIdAndUid($where, $data['pageNum'], $data['pageSize']);
         $count = (new Cyd())->countSampleListByTaskIdAndUid($where);
         return ['rows'=>$result,'total'=>$count];
     }

+ 24 - 7
app/api/controller/v1/Sample.php

@@ -14,10 +14,22 @@ class Sample
 
     public function selectSampleList()
     {
-        $task_id = request()->param('task_id', '', 'int');
-        $pageNum = request()->param('pageNum', '1', 'int');
-        $pageSize = request()->param('pageSize', '10', 'int');
-        $result = (new SampleBus())->selectSampleList($task_id, $pageNum, $pageSize);
+        $data=[
+            'pageNum' => request()->param('pageNum',1,'trim'),//页码
+            'pageSize' => request()->param('pageSize',10,'trim'),//每页显示数量
+            'task_id' => request()->param('task_id','','trim'),//任务id
+
+            'sample_name' => request()->param('sample_name','','trim'),//样品名称
+            'sample_id' => request()->param('sample_id','','trim'),//样品编码
+            'unit_test_name' => request()->param('unit_test_name','','trim'),//受检单位
+            'unit_sample_name' => request()->param('unit_sample_name','','trim'),//抽样单位
+            'unit_production_name' => request()->param('unit_production_name', '', 'trim'),//生产单位
+            'sample_data' => request()->param('sample_data','','trim'),//抽样日期
+            'sample_ground' => request()->param('sample_ground','','trim'),//抽样场所
+        ];
+
+
+        $result = (new SampleBus())->selectSampleList($data);
         return showSuccess($result);
     }
 
@@ -25,6 +37,11 @@ class Sample
     {
         $task_id = request()->param('task_id','','int');
         $under_task_id = request()->param('under_id', '', 'int');
+
+        if ($task_id == '' || $under_task_id == '') {
+            return showError(config('status.none_valid_data'));
+        }
+
         $result = (new SampleBus())->getSampleObj($task_id,$under_task_id);
         return showSuccess($result);
     }
@@ -41,7 +58,7 @@ class Sample
 
         //受检单位信息
         $unit_test = [
-            'unit_name' => request()->param('unit_test.unit_name','','trim'),//单位名称
+            'unit_test_name' => request()->param('unit_test.unit_name','','trim'),//单位名称
             'address' => request()->param('unit_test.address'),//通讯地址
             'represent_name' => request()->param('unit_test.represent_name','','trim'),//法定代表人
             'user_name' => request()->param('unit_test.user_name','','trim'),//*受检人
@@ -51,7 +68,7 @@ class Sample
 
         //生产单位信息
         $unit_production = [
-            'production_name' =>request()->param('unit_production.production_name','','trim'),//单位名称
+            'unit_production_name' =>request()->param('unit_production.production_name','','trim'),//单位名称
             'address' =>request()->param('unit_production.address','','trim'),//通讯地址
             'postcode' =>request()->param('unit_production.postcode','','trim'),//邮编
             'user_name' =>request()->param('unit_production.user_name','','trim'),//联系人
@@ -62,7 +79,7 @@ class Sample
 
         //抽样单位信息
         $unit_sample = [
-            'unit_name' => request()->param('unit_sample.unit_name','','trim'),//单位名称
+            'unit_sample_name' => request()->param('unit_sample.unit_name','','trim'),//单位名称
             'unit_user' => request()->param('unit_sample.unit_user','','trim'),//联系人
             'address' => request()->param('unit_sample.address','','trim'),//通讯地址
             'postcode' => request()->param('unit_sample.postcode','','trim'),//邮编

+ 35 - 5
app/api/model/Cyd.php

@@ -7,6 +7,7 @@
 
 namespace app\api\model;
 
+use think\Db;
 use think\Model;
 
 class Cyd extends Model
@@ -26,6 +27,11 @@ class Cyd extends Model
         return $this->belongsTo('unitSample', 'sample_unit', 'id');
     }
 
+    function Undertake()
+    {
+        return $this->belongsTo('underTake', 'undertake_id', 'id');
+    }
+
     public function getCydDetailBySampleID($sample_id)
     {
         $cyd = (new Cyd());
@@ -54,14 +60,38 @@ class Cyd extends Model
 
     public function selectSampleListByTaskIdAndUid($where,$pageNum=1,$pageSize=null)
     {
-        $cyd = (new Cyd());
-        $data = $cyd->with(['unitProduction', 'unitTest','unitSample'])->where($where)->page($pageNum,$pageSize)->select();
-        return $data;
+        //这里保留两个task_id是为了以后可能会删除一个
+        $result = $this
+            ->alias('cyd')
+            ->field('sample_id,sample_name,cyd.task_id,place,sample_date,sample_status,test_status')
+            ->leftjoin('t_undertake a','a.id=cyd.undertake_id')
+            //bear-抽样单位,report-报告单位,check-检测单位
+            ->field('bear_name,check_name,report_name,a.task_id as underTake_task_id')
+
+            ->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)
+            ->page($pageNum,$pageSize)
+            ->select();
+        return $result;
+
+
     }
     public function countSampleListByTaskIdAndUid($where)
     {
-        $cyd = (new Cyd());
-        $count = $cyd->with(['unitProduction', 'unitTest','unitSample'])->where($where)->count();
+        $count = $this
+            ->alias('cyd')
+            ->field('sample_id,sample_name,cyd.task_id,place,sample_date,sample_status,test_status')
+            ->leftjoin('t_undertake a','a.id=cyd.undertake_id')
+            //bear-抽样单位,report-报告单位,check-检测单位
+            ->field('bear_name,check_name,report_name,a.task_id as underTake_task_id')
+
+            ->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')
+            ->where($where)
+            ->count();
         return $count;
     }
 

+ 2 - 1
config/status.php

@@ -41,5 +41,6 @@ return [
     'err_validate'=>'999',
 
     //抽样单相关错误
-    'none_cyd_info'=>['4004','无抽样单信息']
+    'none_cyd_info' => ['4004', '无抽样单信息'],
+    'none_valid_data'=>['4005','请选择一条有效记录']
 ];