|
|
@@ -29,21 +29,33 @@ class ProcurementController extends Controller
|
|
|
$supplierService=app(SupplierService::class);
|
|
|
$supplier_ids=$supplierService->screenSupplierIds();
|
|
|
$status=$request->input('status');//0:待报价,2:待接单
|
|
|
- $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();
|
|
|
-
|
|
|
+ switch ($status){
|
|
|
+ case 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();
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ $procurements=Procurement::query()
|
|
|
+ ->withCount('procurementQuotations')
|
|
|
+ ->with('ownerMaterial.material')
|
|
|
+ ->where('status',$status)
|
|
|
+ ->whereIn('supplier_id',$supplier_ids)
|
|
|
+ ->get();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (!isset($procurements))return $this->error('未查到相应单据');
|
|
|
foreach ($procurements as $key=>$procurement){
|
|
|
- if ($procurement->procurement_quotations_count>0 && !$user->isSuperAdmin()){
|
|
|
+ if ($status==0 && $procurement->procurement_quotations_count>0 && !$user->isSuperAdmin()){
|
|
|
foreach ($procurement->procurementQuotations as $procurementQuotation){
|
|
|
if (in_array($procurementQuotation->supplier_id,$supplier_ids))unset($procurements[$key]);
|
|
|
}
|