Kaynağa Gözat

协同人负责人逻辑累加

cqpCow 11 ay önce
ebeveyn
işleme
ba9e04e4f7
2 değiştirilmiş dosya ile 23 ekleme ve 26 silme
  1. 6 0
      app/Service/CustomerService.php
  2. 17 26
      app/Service/DeleteService.php

+ 6 - 0
app/Service/CustomerService.php

@@ -76,6 +76,7 @@ class CustomerService extends Service
             $old = array_column($old,'file');
             CustomerInfo::where('del_time',0)
                 ->where('customer_id',$data['id'])
+                ->where('type','<>',CustomerInfo::type_two)
                 ->update(['del_time' => $time]);
 
             if(! empty($data['customer_contact'])){
@@ -248,6 +249,11 @@ class CustomerService extends Service
                     ];
                 }
                 CustomerInfo::insert($insert);
+
+                Customer::where('id',$model->id)->update([
+                    'fp_top_depart_id' => $data['fp_top_depart_id'] ?? 0,
+                    'fp_time' => $time,
+                ]);
             }
 
             if(! empty($data['employee_two'])){

+ 17 - 26
app/Service/DeleteService.php

@@ -134,45 +134,36 @@ class DeleteService extends Service
             $insert = [];
 
             //协同人
-            $bool = CustomerInfo::where('del_time',0)
+            $xt = CustomerInfo::where('del_time',0)
+                ->whereIn('customer_id',$data['id'])
                 ->where('type',CustomerInfo::type_three)
-                ->where('data_id','>',0)
-                ->exists();
-
-            //负责人
+                ->where('data_id',$user['id'])
+                ->select('customer_id')->get()->toArray();
+            $xt = array_column($xt,'customer_id');
+
+            //负责人清除
+            CustomerInfo::where('del_time',0)
+                ->whereIn('customer_id',$data['id'])
+                ->where('type', CustomerInfo::type_two)
+                ->update(['del_time' => $time]);
             foreach ($data['man'] as $value){
-                if(! is_array($data['id'])){
+                foreach ($data['id'] as $data_id){
+                    //负责人累加
                     $insert[] = [
-                        'customer_id' => $data['id'],
+                        'customer_id' => $data_id,
                         'data_id' => $value,
                         'type' => CustomerInfo::type_two,
                         'crt_time' => $time,
                     ];
-                    if(! $bool){
+                    if(! in_array($data_id, $xt)){
+                        //协同人累加
                         $insert[] = [
-                            'customer_id' => $data['id'],
+                            'customer_id' =>$data_id,
                             'data_id' => $user['id'],
                             'type' => CustomerInfo::type_three,
                             'crt_time' => $time,
                         ];
                     }
-                }else{
-                    foreach ($data['id'] as $data_id){
-                        $insert[] = [
-                            'customer_id' => $data_id,
-                            'data_id' => $value,
-                            'type' => CustomerInfo::type_two,
-                            'crt_time' => $time,
-                        ];
-                        if(! $bool){
-                            $insert[] = [
-                                'customer_id' =>$data_id,
-                                'data_id' => $user['id'],
-                                'type' => CustomerInfo::type_three,
-                                'crt_time' => $time,
-                            ];
-                        }
-                    }
                 }
             }