Преглед изворни кода

Merge branch 'Haozi' of ssh://was.baoshi56.com:10022/var/git/bswas

LD пре 5 година
родитељ
комит
c7b3b5ef8e

+ 1 - 47
app/Http/Controllers/TestController.php

@@ -1271,51 +1271,5 @@ where purch.islower=1 and deliver.id>'.$id);
         }
         ProcurementCheckSheet::query()->insert($insert_);
     }
-    public function testPro(){
-        /**@var SupplierService $supplierService*/
-        $supplierService=app(SupplierService::class);
-        $supplier_ids=$supplierService->screenSupplierIds();
-//        $status=0;
-//        $procurements=Procurement::query()
-//            ->withCount('procurementQuotations')
-//            ->with('ownerMaterial.material')
-//            ->where('status',$status)
-//            ->whereHas("ownerMaterial",function (Builder $query)use($supplier_ids){
-//                $query->whereHas("material",function (Builder $query)use($supplier_ids){
-//                    $query->whereHas("supplier",function (Builder $query)use($supplier_ids){
-//                        $query->whereIn('id',$supplier_ids);
-//                    });
-//                });
-//            })
-//            ->get();
-//        $keys = [];
-//        foreach ($procurements as $key=>$procurement){
-////            if ($procurement->procurement_quotations_count>0 && $status==0 )$keys[]= $key;
-//            if ($procurement->type==2 && $procurement->supplier_id )$keys[]= $key;
-//            if (Carbon::parse($procurement->deadline)->gt(Carbon::now())) $procurement->deadline=Carbon::parse($procurement->deadline)->diffInMilliseconds();
-//            else $procurement->deadline=0;
-//        }
-//        $procurements = $procurements->diffKeys($keys);
-//        dd($procurements);
-        $status=0;//0:待报价,2:待接单
-        $procurements=Procurement::query()
-            ->withCount('procurementQuotations')
-            ->with(['ownerMaterial.material','procurementQuotations'])
-            ->where('status',$status)
-            ->get();
-        dd($procurements);
-        $keys = [];
-        foreach ($procurements as $key=>$procurement){
-            if ($procurement->procurement_quotations_count>0 ){
-                foreach ($procurement->procurementQuotations as $procurementQuotation){
-                    if (in_array($procurementQuotation->supplier_id,$supplier_ids))$keys[]= $key;
-                }
-            }
-            if ($procurement->type==2 && $procurement->supplier_id )$keys[]= $key;
-            if (Carbon::parse($procurement->deadline)->gt(Carbon::now())) $procurement->deadline=Carbon::parse($procurement->deadline)->diffInMilliseconds();
-            else $procurement->deadline=0;
-        }
-        $procurements = $procurements->diffKeys($keys);
-        dd($procurements);
-    }
+
 }

+ 11 - 2
app/Http/Controllers/api/thirdPart/weixin/ProcurementController.php

@@ -13,6 +13,7 @@ use App\Services\api\UserService;
 use App\Services\ProcurementService;
 use App\Services\SupplierService;
 use Carbon\Carbon;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
@@ -23,19 +24,27 @@ class ProcurementController extends Controller
 
     public function getWaitQuotation(Request $request): \Illuminate\Http\JsonResponse
     {
+        $user=Auth::user();
         /**@var SupplierService $supplierService*/
         $supplierService=app(SupplierService::class);
         $supplier_ids=$supplierService->screenSupplierIds();
         $status=$request->input('status');//0:待报价,2:待接单
         $procurements=Procurement::query()
             ->withCount('procurementQuotations')
-            ->with(['ownerMaterial.material','procurementQuotations'])
+            ->with('ownerMaterial.material')
             ->where('status',$status)
+            ->whereHas("ownerMaterial",function (Builder $query)use($supplier_ids){
+                $query->whereHas("material",function (Builder $query)use($supplier_ids){
+                    $query->whereHas("supplier",function (Builder $query)use($supplier_ids){
+                        $query->whereIn('id',$supplier_ids);
+                    });
+                });
+            })
             ->get();
         $keys = [];
         foreach ($procurements as $key=>$procurement){
 //            if ($procurement->procurement_quotations_count>0 && $status==0 )$keys[]= $key;
-            if ($procurement->procurement_quotations_count>0 ){
+            if ($procurement->procurement_quotations_count>0 && !$user->isSuperAdmin()){
                 foreach ($procurement->procurementQuotations as $procurementQuotation){
                     if (in_array($procurementQuotation->supplier_id,$supplier_ids))$keys[]= $key;
                 }

+ 25 - 25
app/Procurement.php

@@ -71,29 +71,29 @@ class Procurement extends Model
         return $filters->apply($query);
     }
 
-    protected static function booted()
-    {
-        /** @var User $user */
-        $user = Auth::user();
-        if (Gate::allows('供应商-可见全部'))return;
-        if ($user && !$user->isSuperAdmin()){
-            /** @var \stdClass $user */
-            $ids = array_column(DB::select(DB::raw("SELECT supplier_id FROM supplier_user WHERE user_id = ?"),[$user->id]),"supplier_id");
-            if (count($ids)>0){
-                static::addGlobalScope('supplier', function (Builder $builder)use ($ids) {
-                    $builder->where(function (Builder $query)use($ids){
-                        $query->where(function (Builder $query)use($ids){
-                            $query->whereNull("supplier_id")->orWhereIn('supplier_id',$ids)->orWhere("type",1);
-                        })->orWhereHas("ownerMaterial",function (Builder $query)use($ids){
-                            $query->whereHas("material",function (Builder $query)use($ids){
-                                $query->whereHas("supplier",function (Builder $query)use($ids){
-                                    $query->whereIn('id',$ids);
-                                });
-                            });
-                        });
-                    });
-                });//采购单 供应商为空 -》 耗材的供应商存在于IDS   供应商存在 -》 供应商本身存在于IDS
-            }
-        }
-    }
+//    protected static function booted()
+//    {
+//        /** @var User $user */
+//        $user = Auth::user();
+//        if (Gate::allows('供应商-可见全部'))return;
+//        if ($user && !$user->isSuperAdmin()){
+//            /** @var \stdClass $user */
+//            $ids = array_column(DB::select(DB::raw("SELECT supplier_id FROM supplier_user WHERE user_id = ?"),[$user->id]),"supplier_id");
+//            if (count($ids)>0){
+//                static::addGlobalScope('supplier', function (Builder $builder)use ($ids) {
+//                    $builder->where(function (Builder $query)use($ids){
+//                        $query->where(function (Builder $query)use($ids){
+//                            $query->whereNull("supplier_id")->orWhereIn('supplier_id',$ids)->orWhere("type",1);
+//                        })->WhereHas("ownerMaterial",function (Builder $query)use($ids){
+//                            $query->whereHas("material",function (Builder $query)use($ids){
+//                                $query->whereHas("supplier",function (Builder $query)use($ids){
+//                                    $query->whereIn('id',$ids);
+//                                });
+//                            });
+//                        });
+//                    });
+//                });//采购单 供应商为空 -》 耗材的供应商存在于IDS   供应商存在 -》 供应商本身存在于IDS
+//            }
+//        }
+//    }
 }