Explorar o código

[智价云] 违规店铺查询更新

tangyuanwang hai 5 días
pai
achega
486ee7c17e
Modificáronse 1 ficheiros con 65 adicións e 17 borrados
  1. 65 17
      app/Http/Controllers/Manager/Process/ViolationStore.php

+ 65 - 17
app/Http/Controllers/Manager/Process/ViolationStore.php

@@ -42,13 +42,16 @@ class ViolationStore extends Controller
         $start_time = request('start_time', '');
         $end_time = request('end_time', '');
         $first_responsible_person = request('first_responsible_person', '');
+        $first_responsible_person_name = request('first_responsible_person_name', '');
         $responsible_person = request('responsible_person', '');
+        $responsible_person_name = request('responsible_person_name', '');
         $platform = request('platform', '');
         $company_name = request('company_name', '');
         $company_names = request('company_names', '');
         $store_name = request('store_name', '');
         $store_names = request('store_names', '');
         $source_responsible_person = request('source_responsible_person', '');
+        $source_responsible_person_name = request('source_responsible_person_name', '');
         $processing_status = request('processing_status', '');
         $product_specs = request('product_specs', '');
         $online_posting_count = request('online_posting_count', '');
@@ -115,7 +118,14 @@ class ViolationStore extends Controller
         //多选第一责任人
         if ($first_responsible_person && is_string($first_responsible_person)) {
             $first_responsible_person = explode(',', $first_responsible_person);
-            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $first_responsible_person)->distinct('violation_store_logid')->select('violation_store_logid');
+            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $first_responsible_person)->where('duty_type', 1)->distinct('violation_store_logid')->select('violation_store_logid');
+            $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
+                $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
+            });
+        }
+        //第一责任人模糊查询
+        if ($first_responsible_person_name != '') {
+            $subQuery = $ViolationStoreMemberModel->where([['employee_name', 'like', "%$first_responsible_person_name%"]])->where('duty_type', 1)->distinct('violation_store_logid')->select('violation_store_logid');
             $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
                 $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
             });
@@ -123,7 +133,14 @@ class ViolationStore extends Controller
         //多选责任人
         if ($responsible_person && is_string($responsible_person)) {
             $responsible_person = explode(',', $responsible_person);
-            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $responsible_person)->distinct('violation_store_logid')->select('violation_store_logid');
+            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $responsible_person)->where('duty_type', 2)->distinct('violation_store_logid')->select('violation_store_logid');
+            $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
+                $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
+            });
+        }
+        //责任人模糊查询
+        if ($responsible_person_name != '') {
+            $subQuery = $ViolationStoreMemberModel->where([['employee_name', 'like', "%$responsible_person_name%"]])->where('duty_type', 2)->distinct('violation_store_logid')->select('violation_store_logid');
             $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
                 $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
             });
@@ -131,7 +148,14 @@ class ViolationStore extends Controller
         //多选溯源责任人
         if ($source_responsible_person && is_string($source_responsible_person)) {
             $source_responsible_person = explode(',', $source_responsible_person);
-            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $source_responsible_person)->distinct('violation_store_logid')->select('violation_store_logid');
+            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $source_responsible_person)->where('duty_type', 3)->distinct('violation_store_logid')->select('violation_store_logid');
+            $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
+                $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
+            });
+        }
+        //溯源责任人模糊查询
+        if ($source_responsible_person_name != '') {
+            $subQuery = $ViolationStoreMemberModel->where([['employee_name', 'like', "%$source_responsible_person_name%"]])->where('duty_type', 3)->distinct('violation_store_logid')->select('violation_store_logid');
             $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
                 $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
             });
@@ -160,7 +184,7 @@ class ViolationStore extends Controller
             ->where('personnel_employee.id', $user_id)->select(['personnel_employee.id', 'personnel_roles.identity'])
             ->first();
         //角色身份1=普通2=管理员
-        if(!empty($personnel_roles_info) && $personnel_roles_info->identity == 2){ 
+        if (!empty($personnel_roles_info) && $personnel_roles_info->identity == 2) {
             $is_admin = 1;
         }
         // 查询数据
@@ -187,16 +211,16 @@ class ViolationStore extends Controller
             foreach ($result['data'] as $key => $value) {
                 //查询第一责任人名称
                 $first_responsible_person = explode(',', $value['first_responsible_person']);
-                $first_responsible_person_name = $ViolationStoreMemberModel->where('violation_store_logid',$value['id'])->whereIn('employee_id', $first_responsible_person)->pluck('employee_name')->toarray();
-                $result['data'][$key]['first_responsible_person_name'] = $first_responsible_person_name;
+                $first_responsible_person_name_string = $ViolationStoreMemberModel->where('violation_store_logid', $value['id'])->whereIn('employee_id', $first_responsible_person)->pluck('employee_name')->toarray();
+                $result['data'][$key]['first_responsible_person_name'] = $first_responsible_person_name_string;
                 //查询责任人名称
                 $responsible_person = explode(',', $value['responsible_person']);
-                $responsible_person_name =  $ViolationStoreMemberModel->where('violation_store_logid',$value['id'])->whereIn('employee_id', $responsible_person)->pluck('employee_name')->toarray();
-                $result['data'][$key]['responsible_person_name'] = $responsible_person_name;
+                $responsible_person_name_string =  $ViolationStoreMemberModel->where('violation_store_logid', $value['id'])->whereIn('employee_id', $responsible_person)->pluck('employee_name')->toarray();
+                $result['data'][$key]['responsible_person_name'] = $responsible_person_name_string;
                 //查询来源责任人名称
                 $source_responsible_person = explode(',', $value['source_responsible_person']);
-                $source_responsible_person_name = $ViolationStoreMemberModel->where('violation_store_logid',$value['id'])->whereIn('employee_id', $source_responsible_person)->pluck('employee_name')->toarray();
-                $result['data'][$key]['source_responsible_person_name'] = $source_responsible_person_name;
+                $source_responsible_person_name_string = $ViolationStoreMemberModel->where('violation_store_logid', $value['id'])->whereIn('employee_id', $source_responsible_person)->pluck('employee_name')->toarray();
+                $result['data'][$key]['source_responsible_person_name'] = $source_responsible_person_name_string;
             }
         }
         // 加载模板
@@ -222,12 +246,15 @@ class ViolationStore extends Controller
         $start_time = request('start_time', '');
         $end_time = request('end_time', '');
         $first_responsible_person = request('first_responsible_person', '');
+        $first_responsible_person_name = request('first_responsible_person_name', '');
         $responsible_person = request('responsible_person', '');
+        $responsible_person_name = request('responsible_person_name', '');
         $platform = request('platform', '');
         $company_name = request('company_name', '');
         $store_name = request('store_name', '');
         $store_names = request('store_names', '');
         $source_responsible_person = request('source_responsible_person', '');
+        $source_responsible_person_name = request('source_responsible_person_name', '');
         $processing_status = request('processing_status', '');
         $product_specs = request('product_specs', '');
         $online_posting_count = request('online_posting_count', '');
@@ -289,7 +316,14 @@ class ViolationStore extends Controller
         //多选第一责任人
         if ($first_responsible_person && is_string($first_responsible_person)) {
             $first_responsible_person = explode(',', $first_responsible_person);
-            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $first_responsible_person)->distinct('violation_store_logid')->select('violation_store_logid');
+            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $first_responsible_person)->where('duty_type', 1)->distinct('violation_store_logid')->select('violation_store_logid');
+            $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
+                $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
+            });
+        }
+        //第一责任人模糊查询
+        if ($first_responsible_person_name != '') {
+            $subQuery = $ViolationStoreMemberModel->where([['employee_name', 'like', "%$first_responsible_person_name%"]])->where('duty_type', 1)->distinct('violation_store_logid')->select('violation_store_logid');
             $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
                 $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
             });
@@ -297,7 +331,14 @@ class ViolationStore extends Controller
         //多选责任人
         if ($responsible_person && is_string($responsible_person)) {
             $responsible_person = explode(',', $responsible_person);
-            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $responsible_person)->distinct('violation_store_logid')->select('violation_store_logid');
+            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $responsible_person)->where('duty_type', 2)->distinct('violation_store_logid')->select('violation_store_logid');
+            $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
+                $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
+            });
+        }
+        //责任人模糊查询
+        if ($responsible_person_name != '') {
+            $subQuery = $ViolationStoreMemberModel->where([['employee_name', 'like', "%$responsible_person_name%"]])->where('duty_type', 2)->distinct('violation_store_logid')->select('violation_store_logid');
             $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
                 $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
             });
@@ -305,7 +346,14 @@ class ViolationStore extends Controller
         //多选溯源责任人
         if ($source_responsible_person && is_string($source_responsible_person)) {
             $source_responsible_person = explode(',', $source_responsible_person);
-            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $source_responsible_person)->distinct('violation_store_logid')->select('violation_store_logid');
+            $subQuery = $ViolationStoreMemberModel->whereIn('employee_id', $source_responsible_person)->where('duty_type', 3)->distinct('violation_store_logid')->select('violation_store_logid');
+            $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
+                $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
+            });
+        }
+        //溯源责任人模糊查询
+        if ($source_responsible_person_name != '') {
+            $subQuery = $ViolationStoreMemberModel->where([['employee_name', 'like', "%$source_responsible_person_name%"]])->where('duty_type', 3)->distinct('violation_store_logid')->select('violation_store_logid');
             $ViolationStoreModel = $ViolationStoreModel->whereIn('id', function ($query1) use ($subQuery) {
                 $query1->select('violation_store_logid')->fromSub($subQuery, 'sub1');
             });
@@ -375,15 +423,15 @@ class ViolationStore extends Controller
             foreach ($result as $key => $value) {
                 //查询第一责任人名称
                 $first_responsible_person = explode(',', $value['first_responsible_person']);
-                $first_responsible_person_name = $ViolationStoreMemberModel->where('violation_store_logid',$value['id'])->where('duty_type','1')->whereIn('employee_id', $first_responsible_person)->pluck('employee_name')->toarray();
+                $first_responsible_person_name = $ViolationStoreMemberModel->where('violation_store_logid', $value['id'])->where('duty_type', '1')->whereIn('employee_id', $first_responsible_person)->pluck('employee_name')->toarray();
                 $result[$key]['first_responsible_person_name'] = $first_responsible_person_name;
                 //查询责任人名称
                 $responsible_person = explode(',', $value['responsible_person']);
-                $responsible_person_name =  $ViolationStoreMemberModel->where('violation_store_logid',$value['id'])->where('duty_type','2')->whereIn('employee_id', $responsible_person)->pluck('employee_name')->toarray();
+                $responsible_person_name =  $ViolationStoreMemberModel->where('violation_store_logid', $value['id'])->where('duty_type', '2')->whereIn('employee_id', $responsible_person)->pluck('employee_name')->toarray();
                 $result[$key]['responsible_person_name'] = $responsible_person_name;
                 //查询来源责任人名称
                 $source_responsible_person = explode(',', $value['source_responsible_person']);
-                $source_responsible_person_name = $ViolationStoreMemberModel->where('violation_store_logid',$value['id'])->where('duty_type','3')->whereIn('employee_id', $source_responsible_person)->pluck('employee_name')->toarray();
+                $source_responsible_person_name = $ViolationStoreMemberModel->where('violation_store_logid', $value['id'])->where('duty_type', '3')->whereIn('employee_id', $source_responsible_person)->pluck('employee_name')->toarray();
                 $result[$key]['source_responsible_person_name'] = $source_responsible_person_name;
             }
         }
@@ -725,7 +773,7 @@ class ViolationStore extends Controller
         // ViolationStoreJobs::dispatchSync($message_data);
         ViolationCompanyJobs::dispatch($message_data);
         // ViolationCompanyJobs::dispatchSync($message_data);
-        
+
         // 告知结果
         return             json_send(['code' => 'success', 'msg' => '执行成功']);
     }