|
|
@@ -113,6 +113,7 @@ use App\Services\RegionService;
|
|
|
use App\Services\RejectedBillService;
|
|
|
use App\Services\ShopService;
|
|
|
use App\Services\StoreService;
|
|
|
+use App\Services\SupplierService;
|
|
|
use App\Services\WarehouseService;
|
|
|
use App\StationRuleBatch;
|
|
|
use App\StationTask;
|
|
|
@@ -1265,21 +1266,50 @@ where purch.islower=1 and deliver.id>'.$id);
|
|
|
ProcurementCheckSheet::query()->insert($insert_);
|
|
|
}
|
|
|
public function testPro(){
|
|
|
- $status=0;
|
|
|
+ /**@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')
|
|
|
+ ->with(['ownerMaterial.material','procurementQuotations'])
|
|
|
->where('status',$status)
|
|
|
->get();
|
|
|
+ dd($procurements);
|
|
|
$keys = [];
|
|
|
foreach ($procurements as $key=>$procurement){
|
|
|
- if ($procurement->procurement_quotations_count>0 && $status==0 )$keys[]= $key;
|
|
|
+ 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);
|
|
|
- if (!empty($procurements)) return $this->success($procurements);
|
|
|
}
|
|
|
}
|