|
|
@@ -25,6 +25,7 @@ use App\Model\SalesOrder;
|
|
|
use App\Model\SalesOrderInfo;
|
|
|
use App\Model\SeeRange;
|
|
|
use App\Model\SportsBag;
|
|
|
+use App\Model\Supplier;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class RangeService extends Service
|
|
|
@@ -241,11 +242,13 @@ class RangeService extends Service
|
|
|
//获取客户可见数据
|
|
|
public static function customerRange($user,$search){
|
|
|
// 销售人员/负责人 3协同人 可以看见
|
|
|
- $customer_id = CustomerInfo::where('del_time',0)
|
|
|
- ->where('data_id',$user['id'])
|
|
|
- ->whereIn('type',CustomerInfo::$see_man)
|
|
|
- ->select('customer_id')->get()->toArray();
|
|
|
- $return_id = array_unique(array_column($customer_id,'customer_id'));
|
|
|
+ $return_id = CustomerInfo::where('del_time', 0)
|
|
|
+ ->where('data_id', $user['id'])
|
|
|
+ ->whereIn('type', CustomerInfo::$see_man)
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('customer_id')
|
|
|
+ ->all();
|
|
|
+
|
|
|
//可见范围id
|
|
|
$rang_id = Self::getRangeDataId($user,SeeRange::type_one);
|
|
|
//并和
|
|
|
@@ -280,11 +283,11 @@ class RangeService extends Service
|
|
|
//获取施工单可见数据
|
|
|
public static function constructionRange($user,$search){
|
|
|
//单据中选择的签订负责协同人
|
|
|
- $construction_id = ConstructionInfo::where('del_time',0)
|
|
|
+ $return_id = ConstructionInfo::where('del_time',0)
|
|
|
->where('employee_id',$user['id'])
|
|
|
- ->select('construction_id')
|
|
|
- ->get()->toArray();
|
|
|
- $return_id = array_unique(array_column($construction_id,'construction_id'));
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('construction_id')
|
|
|
+ ->all();
|
|
|
|
|
|
//可见范围id
|
|
|
$return = Self::getRangeDataId($user,SeeRange::type_two);
|
|
|
@@ -294,8 +297,8 @@ class RangeService extends Service
|
|
|
$id = DB::table('construction')
|
|
|
->where('del_time',0)
|
|
|
->where('top_depart_id',$search['top_depart_id'])
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(! in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -373,11 +376,10 @@ class RangeService extends Service
|
|
|
if(empty($user['is_all_depart']) && ! empty($user['is_manager'])) {
|
|
|
$depart = array_shift($user['rule_depart']);
|
|
|
$depart_id = $depart['depart_id'] ?? 0;
|
|
|
- $id = DB::table('product')
|
|
|
- ->where('del_time',0)
|
|
|
+ $id = Product::where('del_time',0)
|
|
|
->where('top_depart_id',$depart_id)
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -392,11 +394,10 @@ class RangeService extends Service
|
|
|
$return_id = Self::getRangeDataId($user,SeeRange::type_five);
|
|
|
|
|
|
if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
|
|
|
- $id = DB::table('purchase_order')
|
|
|
- ->where('del_time',0)
|
|
|
+ $id = PurchaseOrder::where('del_time',0)
|
|
|
->where('top_depart_id',$search['top_depart_id'])
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(! in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -421,11 +422,10 @@ class RangeService extends Service
|
|
|
//可见范围id
|
|
|
$return_id = Self::getRangeDataId($user,SeeRange::type_six);
|
|
|
if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
|
|
|
- $id = DB::table('return_exchange_order')
|
|
|
- ->where('del_time',0)
|
|
|
+ $id = ReturnExchangeOrder::where('del_time',0)
|
|
|
->where('top_depart_id',$search['top_depart_id'])
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(! in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -449,11 +449,11 @@ class RangeService extends Service
|
|
|
public static function salesOrderRange($user,$search){
|
|
|
//单据中选择的签订负责协同人
|
|
|
$sales_order_id = SalesOrderInfo::where('del_time',0)
|
|
|
- ->whereIn('type',SalesOrderInfo::$man)
|
|
|
+ ->whereIn('type', SalesOrderInfo::$man)
|
|
|
->where('data_id',$user['id'])
|
|
|
- ->select('sales_order_id')
|
|
|
- ->get()->toArray();
|
|
|
- $sales_order_id = array_unique(array_column($sales_order_id,'sales_order_id'));
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('sales_order_id')
|
|
|
+ ->all();
|
|
|
|
|
|
$bool = ! empty($search['top_depart_id']) && ! empty($user['is_all_depart']);
|
|
|
if(! $bool){
|
|
|
@@ -465,18 +465,16 @@ class RangeService extends Service
|
|
|
->where('param_id', $current_top_depart_id)
|
|
|
->where('data_type',SeeRange::type_seven)
|
|
|
->where('type',SeeRange::data_three)
|
|
|
- ->select('data_id')
|
|
|
- ->get()->toArray();
|
|
|
- $dispatch_company = array_column($dispatch_company,'data_id');
|
|
|
+ ->pluck('data_id')
|
|
|
+ ->all();
|
|
|
|
|
|
// 找出仅在 $array1 中存在的元素
|
|
|
$diff1 = array_diff($sales_order_id, $dispatch_company);
|
|
|
|
|
|
$sales_order_id = SalesOrder::whereIn('id', $diff1)
|
|
|
->where('top_depart_id',$current_top_depart_id)
|
|
|
- ->select('id')
|
|
|
- ->get()->toArray();
|
|
|
- $sales_order_id = array_column($sales_order_id,'sales_order_id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
$sales_order_id = array_merge_recursive($sales_order_id,$dispatch_company);
|
|
|
}
|
|
|
|
|
|
@@ -485,11 +483,10 @@ class RangeService extends Service
|
|
|
|
|
|
$return_id = array_unique(array_merge_recursive($sales_order_id,$return));
|
|
|
if($bool){
|
|
|
- $id = DB::table('sales_order')
|
|
|
- ->where('del_time',0)
|
|
|
+ $id = SalesOrder::where('del_time',0)
|
|
|
->where('top_depart_id',$search['top_depart_id'])
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(! in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -534,11 +531,10 @@ class RangeService extends Service
|
|
|
$return_id = Self::getRangeDataId($user,SeeRange::type_nine);
|
|
|
|
|
|
if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
|
|
|
- $id = DB::table('supplier')
|
|
|
- ->where('del_time',0)
|
|
|
+ $id = Supplier::where('del_time',0)
|
|
|
->where('top_depart_id',$search['top_depart_id'])
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(! in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -553,11 +549,10 @@ class RangeService extends Service
|
|
|
$return_id = Self::getRangeDataId($user,SeeRange::type_eight);
|
|
|
|
|
|
if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
|
|
|
- $id = DB::table('sports_bag')
|
|
|
- ->where('del_time',0)
|
|
|
+ $id = SportsBag::where('del_time',0)
|
|
|
->where('top_depart_id',$search['top_depart_id'])
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $id = array_column($id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
foreach ($return_id as $key => $value){
|
|
|
if(! in_array($value,$id)) unset($return_id[$key]);
|
|
|
}
|
|
|
@@ -588,28 +583,28 @@ class RangeService extends Service
|
|
|
if(! empty($data['qd'])){
|
|
|
$emp_id = Employee::where('del_time',0)
|
|
|
->where('emp_name','LIKE', '%'.$data['qd'].'%')
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $emp_id = array_column($emp_id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
//单据中选择的签订人
|
|
|
- $sales_order_id = SalesOrderInfo::where('del_time',0)
|
|
|
+ $return1 = SalesOrderInfo::where('del_time',0)
|
|
|
->where('type',SalesOrderInfo::type_one)
|
|
|
->whereIn('data_id',$emp_id)
|
|
|
- ->select('sales_order_id')
|
|
|
- ->get()->toArray();
|
|
|
- $return1 = array_unique(array_column($sales_order_id,'sales_order_id'));
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('sales_order_id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
if(! empty($data['fz'])){
|
|
|
$emp_id = Employee::where('del_time',0)
|
|
|
->where('emp_name','LIKE', '%'.$data['fz'].'%')
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $emp_id = array_column($emp_id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
//单据中选择的负责人
|
|
|
- $sales_order_id = SalesOrderInfo::where('del_time',0)
|
|
|
+ $return2 = SalesOrderInfo::where('del_time',0)
|
|
|
->where('type',SalesOrderInfo::type_two)
|
|
|
->whereIn('data_id',$emp_id)
|
|
|
- ->select('sales_order_id')
|
|
|
- ->get()->toArray();
|
|
|
- $return2 = array_unique(array_column($sales_order_id,'sales_order_id'));
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('sales_order_id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
if(! empty($data['qd']) && ! empty($data['fz'])){
|
|
|
@@ -625,77 +620,73 @@ class RangeService extends Service
|
|
|
|
|
|
//指派门店
|
|
|
public function salesOrderZpSearch($data){
|
|
|
- $return = SeeRange::where('del_time',0)
|
|
|
+ return SeeRange::where('del_time',0)
|
|
|
->where('param_id',$data['zp'])
|
|
|
->where('data_type',SeeRange::type_seven)
|
|
|
->where('type',SeeRange::data_three)
|
|
|
- ->select('data_id')
|
|
|
- ->get()->toArray();
|
|
|
-
|
|
|
- return array_column($return,'data_id');
|
|
|
+ ->pluck('data_id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
//客户创建人
|
|
|
public function salesOrderCustomerCrtSearch($user,$data){
|
|
|
$emp_id = Employee::where('del_time',0)
|
|
|
->where('emp_name','LIKE', '%'.$data['customer_crt_name'].'%')
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $emp_id = array_column($emp_id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
|
|
|
$model2 = Customer::Clear($user,$data);
|
|
|
- $customer = $model2->where('del_time',0)
|
|
|
+ return $model2->where('del_time',0)
|
|
|
->whereIn('crt_id', $emp_id)
|
|
|
- ->select('id')
|
|
|
- ->get()->toArray();
|
|
|
-
|
|
|
- return array_column($customer,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
//收付款人搜索
|
|
|
public function paymentReceiptSearch($data){
|
|
|
$emp_id = Employee::where('del_time',0)
|
|
|
->where('emp_name','LIKE', '%'.$data['belong'].'%')
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $emp_id = array_column($emp_id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
//单据中选择的签订人
|
|
|
- $id = PaymentReceiptInfo::where('del_time',0)
|
|
|
+ return PaymentReceiptInfo::where('del_time',0)
|
|
|
->where('type',PaymentReceiptInfo::type_two)
|
|
|
->whereIn('data_id',$emp_id)
|
|
|
- ->select('payment_receipt_id')
|
|
|
- ->get()->toArray();
|
|
|
- return array_unique(array_column($id,'payment_receipt_id'));
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('payment_receipt_id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
//创建人
|
|
|
public function crtNameSearch($data){
|
|
|
- $emp_id = Employee::where('del_time',0)
|
|
|
+ return Employee::where('del_time',0)
|
|
|
->where('emp_name','LIKE', '%'.$data['crt_name'].'%')
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- return array_column($emp_id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
public function crtContactSearch($data){
|
|
|
- $id = CustomerInfo::where('del_time',0)
|
|
|
+ return CustomerInfo::where('del_time',0)
|
|
|
->where('type',CustomerInfo::type_one)
|
|
|
->where('contact_info','LIKE', '%'.$data['title_t'].'%')
|
|
|
- ->select('customer_id')->get()->toArray();
|
|
|
- return array_column($id,'customer_id');
|
|
|
+ ->pluck('customer_id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
//负责人
|
|
|
public function customerSearch($data){
|
|
|
$emp_id = Employee::where('del_time',0)
|
|
|
->where('emp_name','LIKE', '%'.$data['fz'].'%')
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- $emp_id = array_column($emp_id,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
+
|
|
|
//单据中选择的负责人
|
|
|
- $customer_id = CustomerInfo::where('del_time',0)
|
|
|
+ return CustomerInfo::where('del_time',0)
|
|
|
->where('type',CustomerInfo::type_two)
|
|
|
->whereIn('data_id',$emp_id)
|
|
|
- ->select('customer_id')
|
|
|
- ->get()->toArray();
|
|
|
-
|
|
|
- return array_unique(array_column($customer_id,'customer_id'));;
|
|
|
+ ->distinct()
|
|
|
+ ->pluck('customer_id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
//获取可见人施工单
|
|
|
@@ -708,7 +699,8 @@ class RangeService extends Service
|
|
|
->get()->toArray();
|
|
|
$emp_map = Employee::where('del_time',0)
|
|
|
->whereIn('id',array_column($see,'employee_id'))
|
|
|
- ->pluck('emp_name','id')->toArray();
|
|
|
+ ->pluck('emp_name','id')
|
|
|
+ ->all();
|
|
|
|
|
|
$employee = [];
|
|
|
foreach ($see as $value){
|
|
|
@@ -727,19 +719,19 @@ class RangeService extends Service
|
|
|
|
|
|
//客户类型
|
|
|
public function customerBasicTypeSearch($customer_type, $type){
|
|
|
- $result = BasicType::where('del_time',0)
|
|
|
+ return BasicType::where('del_time',0)
|
|
|
->whereIn('type',$type)
|
|
|
->where('title', $customer_type)
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- return array_column($result,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
public function customerBasicTypeAllUseSearch($customer_type, $type){
|
|
|
- $result = BasicTypeAllUse::where('del_time',0)
|
|
|
+ return BasicTypeAllUse::where('del_time',0)
|
|
|
->whereIn('type',$type)
|
|
|
->where('title', $customer_type)
|
|
|
- ->select('id')->get()->toArray();
|
|
|
- return array_column($result,'id');
|
|
|
+ ->pluck('id')
|
|
|
+ ->all();
|
|
|
}
|
|
|
|
|
|
//全部 待审 已审核 -----------------------------------------------
|