|
|
@@ -214,7 +214,31 @@ class ProcurementController extends Controller
|
|
|
public function updateProcurementDeliveryAmount(Request $request): \Illuminate\Http\JsonResponse
|
|
|
{
|
|
|
$param=$request->all(['id','delivernum']);
|
|
|
- $procurementDelivery=ProcurementDeliverie::query()->where('id',$param['id'])->update(['amount'=>$param['delivernum']]);
|
|
|
+ $procurement_id=ProcurementDeliverie::query()->where('id',$param['id'])->first()['procurement_id'];
|
|
|
+ $procurement=Procurement::query()->find($procurement_id);
|
|
|
+ $procurementDelivery=null;
|
|
|
+ if ($procurement){
|
|
|
+ if ($param['delivernum']>$procurement->quantity){
|
|
|
+ response()->json(['status'=>0,'message' => '送货数量大于采购数量','data'=>null], 401);
|
|
|
+ }
|
|
|
+ if ($param['delivernum']<$procurement->quantity || $procurement->status==5){
|
|
|
+ $procurementDelivery=ProcurementDeliverie::query()->where('id',$param['id'])->update(['amount'=>$param['delivernum']]);
|
|
|
+ if($procurementDelivery){
|
|
|
+ $procurementDeliver=new ProcurementDeliverie();
|
|
|
+ $procurementDeliver['procurement_id']=$param['id'];
|
|
|
+ $procurementDeliver['amount']=((int)$procurement->quantity-(int)$param['delivernum']);
|
|
|
+ $procurementDeliver['initiator']=Auth::user()['id'];
|
|
|
+ $procurementDeliver['signer']=$procurement->initiator ?? 0;
|
|
|
+ $procurementDeliver['created_at']=Carbon::now()->toDateTimeString();
|
|
|
+ $procurementDeliver['updated_at']=Carbon::now()->toDateTimeString();
|
|
|
+ $procurementDeliver->save();
|
|
|
+ ProcurementCheckSheet::query()->create(['procurement_delivery_id'=>$procurementDeliver->id,'account_payable'=>$procurementDeliver->receipt_amount*$procurement->cost_price,'auditor'=>0]);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $procurementDelivery=ProcurementDeliverie::query()->where('id',$param['id'])->update(['amount'=>$param['delivernum']]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if ($procurementDelivery)return $this->success($procurementDelivery);
|
|
|
}
|
|
|
|