|
@@ -11,6 +11,7 @@ use App\Model\OrderOperation;
|
|
|
use App\Model\SalesOrder;
|
|
|
use App\Model\SalesOrderInfo;
|
|
|
use App\Model\ScheduleInfo;
|
|
|
+use App\Model\SeeRange;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class DeleteService extends Service
|
|
@@ -88,18 +89,21 @@ class DeleteService extends Service
|
|
|
public function fp($data,$user){
|
|
|
if(empty($data['id']) || empty($data['type']) || empty($data['man'])) return [false, '必填参数不能为空!'];
|
|
|
|
|
|
-// $key = "fpyj".$data['id'].$data['type'];
|
|
|
-// list($status,$msg) = $this->limitingSendRequestBackgExpire($key);
|
|
|
-// if(! $status) return [false,$msg];
|
|
|
-
|
|
|
try {
|
|
|
DB::beginTransaction();
|
|
|
if($data['type'] == 1){
|
|
|
- $this->fpSaleOrderMan($data,$user);
|
|
|
+ list($status, $msg) = $this->fpSaleOrderMan($data,$user);
|
|
|
}elseif ($data['type'] == 2){
|
|
|
- $this->fpCustomerMan($data,$user);
|
|
|
+ list($status, $msg) = $this->fpCustomerMan($data,$user);
|
|
|
}elseif($data['type'] == 3){
|
|
|
- $this->fpConstructionMan($data,$user);
|
|
|
+ list($status, $msg) = $this->fpConstructionMan($data,$user);
|
|
|
+ }else{
|
|
|
+ return [false, '非法操作'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if(! $status) {
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $msg];
|
|
|
}
|
|
|
|
|
|
DB::commit();
|
|
@@ -133,22 +137,27 @@ class DeleteService extends Service
|
|
|
'type' => OrderOperation::eighteen
|
|
|
],$user);
|
|
|
}
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
}
|
|
|
|
|
|
public function fpCustomerMan($data,$user){
|
|
|
+ if(! is_array($data['id'])) $data_id = [$data['id']];
|
|
|
+ else $data_id = $data['id'];
|
|
|
+
|
|
|
$time = time();
|
|
|
if(! empty($data['man'])){
|
|
|
$insert = [];
|
|
|
|
|
|
//协同人
|
|
|
$xt = CustomerInfo::where('del_time',0)
|
|
|
- ->whereIn('customer_id',$data['id'])
|
|
|
+ ->whereIn('customer_id',$data_id)
|
|
|
->where('type',CustomerInfo::type_three)
|
|
|
->where('data_id',$user['id'])
|
|
|
->select('customer_id')->get()->toArray();
|
|
|
$xt = array_column($xt,'customer_id');
|
|
|
|
|
|
- $customer_map = Customer::whereIn('id',$data['id'])
|
|
|
+ $customer_map = Customer::whereIn('id', $data_id)
|
|
|
->pluck('title','id')
|
|
|
->toArray();
|
|
|
$emp_map = Employee::whereIn('id',$data['man'])
|
|
@@ -156,31 +165,31 @@ class DeleteService extends Service
|
|
|
->toArray();
|
|
|
//负责人清除
|
|
|
CustomerInfo::where('del_time',0)
|
|
|
- ->whereIn('customer_id',$data['id'])
|
|
|
+ ->whereIn('customer_id',$data_id)
|
|
|
->where('type', CustomerInfo::type_two)
|
|
|
->update(['del_time' => $time]);
|
|
|
$send_data = [];
|
|
|
foreach ($data['man'] as $value){
|
|
|
$emp_tmp = $emp_map[$value] ?? "";
|
|
|
- foreach ($data['id'] as $data_id){
|
|
|
+ foreach ($data_id as $c){
|
|
|
//负责人累加
|
|
|
$insert[] = [
|
|
|
- 'customer_id' => $data_id,
|
|
|
+ 'customer_id' => $c,
|
|
|
'data_id' => $value,
|
|
|
'type' => CustomerInfo::type_two,
|
|
|
'crt_time' => $time,
|
|
|
];
|
|
|
- if(! in_array($data_id, $xt)){
|
|
|
+ if(! in_array($c, $xt)){
|
|
|
//协同人累加
|
|
|
$insert[] = [
|
|
|
- 'customer_id' =>$data_id,
|
|
|
+ 'customer_id' => $c,
|
|
|
'data_id' => $user['id'],
|
|
|
'type' => CustomerInfo::type_three,
|
|
|
'crt_time' => $time,
|
|
|
];
|
|
|
}
|
|
|
|
|
|
- $customer_tmp = $customer_map[$data_id] ?? "";
|
|
|
+ $customer_tmp = $customer_map[$c] ?? "";
|
|
|
$send_data[] = [
|
|
|
'employee_id' => $value,
|
|
|
'type' => 2,
|
|
@@ -198,7 +207,6 @@ class DeleteService extends Service
|
|
|
|
|
|
CustomerInfo::insert($insert);
|
|
|
|
|
|
- $fp_top_depart_id = $data['fp_top_depart_id'] ?? 0;
|
|
|
if(! is_array($data['id'])){
|
|
|
$title = Customer::where('id',$data['id'])->value('title') ?? "";
|
|
|
(new OrderOperationService())->add([
|
|
@@ -206,7 +214,7 @@ class DeleteService extends Service
|
|
|
'msg' => OrderOperation::$type[OrderOperation::twenty_three] ?? "",
|
|
|
'type' => OrderOperation::twenty_three
|
|
|
],$user);
|
|
|
- Customer::where('id',$data['id'])->update(['fp_time' => $time, 'fp_top_depart_id' => $fp_top_depart_id]);
|
|
|
+ Customer::where('id',$data['id'])->update(['fp_time' => $time]);
|
|
|
}else{
|
|
|
$title = Customer::whereIn('id',$data['id'])->pluck('title','id')->toArray();
|
|
|
foreach($data['id'] as $value){
|
|
@@ -217,11 +225,39 @@ class DeleteService extends Service
|
|
|
'type' => OrderOperation::twenty_three
|
|
|
],$user);
|
|
|
}
|
|
|
- Customer::whereIn('id',$data['id'])->update(['fp_time' => $time,'fp_top_depart_id' => $fp_top_depart_id]);
|
|
|
+ Customer::whereIn('id',$data['id'])->update(['fp_time' => $time]);
|
|
|
}
|
|
|
|
|
|
(new OaService())->sendWxOaCheckMessage($send_data);
|
|
|
}
|
|
|
+
|
|
|
+ //客户被指派的门店 先清空
|
|
|
+ SeeRange::where('del_time',0)
|
|
|
+ ->whereIn('data_id', $data_id)
|
|
|
+ ->where('data_type',SeeRange::type_one)
|
|
|
+ ->where('type',SeeRange::data_three)
|
|
|
+ ->update(['del_time' => $time]);
|
|
|
+
|
|
|
+ if(! empty($data['fp_top_depart_id'])){
|
|
|
+ if(! is_array($data['fp_top_depart_id'])) $fp_top_depart_id = [$data['fp_top_depart_id']];
|
|
|
+ else $fp_top_depart_id = $data['fp_top_depart_id'];
|
|
|
+
|
|
|
+ $insert = [];
|
|
|
+ foreach ($data_id as $id){
|
|
|
+ foreach ($fp_top_depart_id as $value){
|
|
|
+ $insert[] = [
|
|
|
+ 'data_id' => $id, //客户id
|
|
|
+ 'data_type' => SeeRange::type_one,
|
|
|
+ 'param_id' => $value, //门店id
|
|
|
+ 'type' => SeeRange::data_three,
|
|
|
+ 'crt_time' => $time,
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(! empty($insert)) SeeRange::insert($insert);
|
|
|
+ }
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
}
|
|
|
|
|
|
public function fpConstructionMan($data,$user){
|
|
@@ -254,6 +290,8 @@ class DeleteService extends Service
|
|
|
'type' => OrderOperation::twenty_six
|
|
|
],$user);
|
|
|
}
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
}
|
|
|
|
|
|
public function yj($data,$user){
|
|
@@ -266,9 +304,16 @@ class DeleteService extends Service
|
|
|
try {
|
|
|
DB::beginTransaction();
|
|
|
if($data['type'] == 1){
|
|
|
- $this->yjSaleOrderMan($data,$user);
|
|
|
+ list($status, $msg) = $this->yjSaleOrderMan($data,$user);
|
|
|
}elseif ($data['type'] == 2){
|
|
|
- $this->yjCustomerMan($data,$user);
|
|
|
+ list($status, $msg) = $this->yjCustomerMan($data,$user);
|
|
|
+ }else{
|
|
|
+ return [false, '非法操作'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if(! $status) {
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $msg];
|
|
|
}
|
|
|
|
|
|
DB::commit();
|
|
@@ -308,40 +353,34 @@ class DeleteService extends Service
|
|
|
'type' => OrderOperation::nineteen
|
|
|
],$user);
|
|
|
}
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
}
|
|
|
|
|
|
public function yjCustomerMan($data,$user){
|
|
|
$time = time();
|
|
|
|
|
|
- if(! is_array($data['id'])) $data['id'] = [$data['id']];
|
|
|
+ if(! is_array($data['id'])) $data_id = [$data['id']];
|
|
|
+ else $data_id = $data['id'];
|
|
|
+
|
|
|
CustomerInfo::where('del_time',0)
|
|
|
- ->whereIn('customer_id',$data['id'])
|
|
|
+ ->whereIn('customer_id', $data_id)
|
|
|
->where('type', CustomerInfo::type_two)
|
|
|
->update(['del_time' => $time]);
|
|
|
if(! empty($data['man'])){
|
|
|
$insert = [];
|
|
|
foreach ($data['man'] as $value){
|
|
|
- if(! is_array($data['id'])){
|
|
|
- $insert[] = [
|
|
|
- 'customer_id' => $data['id'],
|
|
|
- 'data_id' => $value,
|
|
|
- 'type' => CustomerInfo::type_two,
|
|
|
- '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,
|
|
|
- ];
|
|
|
- }
|
|
|
- }
|
|
|
+ foreach ($data_id as $c){
|
|
|
+ $insert[] = [
|
|
|
+ 'customer_id' => $c,
|
|
|
+ 'data_id' => $value,
|
|
|
+ 'type' => CustomerInfo::type_two,
|
|
|
+ 'crt_time' => $time,
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|
|
|
CustomerInfo::insert($insert);
|
|
|
|
|
|
- $fp_top_depart_id = $data['fp_top_depart_id'] ?? 0;
|
|
|
if(! is_array($data['id'])){
|
|
|
$title = Customer::where('id',$data['id'])->value('title') ?? "";
|
|
|
(new OrderOperationService())->add([
|
|
@@ -349,7 +388,7 @@ class DeleteService extends Service
|
|
|
'msg' => OrderOperation::$type[OrderOperation::twenty_four] ?? "",
|
|
|
'type' => OrderOperation::twenty_four
|
|
|
],$user);
|
|
|
- Customer::where('id',$data['id'])->update(['fp_time' => $time, 'fp_top_depart_id' => $fp_top_depart_id]);
|
|
|
+ Customer::where('id',$data['id'])->update(['fp_time' => $time]);
|
|
|
}else{
|
|
|
$title = Customer::whereIn('id',$data['id'])->pluck('title','id')->toArray();
|
|
|
foreach($data['id'] as $value){
|
|
@@ -360,9 +399,37 @@ class DeleteService extends Service
|
|
|
'type' => OrderOperation::twenty_four
|
|
|
],$user);
|
|
|
}
|
|
|
- Customer::whereIn('id',$data['id'])->update(['fp_time' => $time,'fp_top_depart_id' => $fp_top_depart_id]);
|
|
|
+ Customer::whereIn('id',$data['id'])->update(['fp_time' => $time]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //客户被移交的门店 先清空
|
|
|
+ SeeRange::where('del_time',0)
|
|
|
+ ->whereIn('data_id', $data_id)
|
|
|
+ ->where('data_type',SeeRange::type_one)
|
|
|
+ ->where('type',SeeRange::data_three)
|
|
|
+ ->update(['del_time' => $time]);
|
|
|
+
|
|
|
+ if(! empty($data['fp_top_depart_id'])){
|
|
|
+ if(! is_array($data['fp_top_depart_id'])) $fp_top_depart_id = [$data['fp_top_depart_id']];
|
|
|
+ else $fp_top_depart_id = $data['fp_top_depart_id'];
|
|
|
+
|
|
|
+ $insert = [];
|
|
|
+ foreach ($data_id as $id){
|
|
|
+ foreach ($fp_top_depart_id as $value){
|
|
|
+ $insert[] = [
|
|
|
+ 'data_id' => $id, //客户id
|
|
|
+ 'data_type' => SeeRange::type_one,
|
|
|
+ 'param_id' => $value, //门店id
|
|
|
+ 'type' => SeeRange::data_three,
|
|
|
+ 'crt_time' => $time,
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|
|
|
+ if(! empty($insert)) SeeRange::insert($insert);
|
|
|
}
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
}
|
|
|
|
|
|
public function pq($data,$user){
|