Explorar el Código

Merge branch 'master' of ssh://47.103.131.176:10022/var/git/bswas

zhouzhendong hace 4 años
padre
commit
3c53f62dae

+ 17 - 20
app/Http/Controllers/api/thirdPart/weixin/ProcurementController.php

@@ -214,15 +214,14 @@ class ProcurementController extends Controller
     public function updateProcurementDeliveryAmount(Request $request): \Illuminate\Http\JsonResponse
     {
         $param=$request->all(['id','delivernum']);
-        $procurement_id=ProcurementDeliverie::query()->where('id',$param['id'])->first()['procurement_id'];
-        $deliverAmount=0;
-        $procurementDeliveries=ProcurementDeliverie::query()->where('procurement_id',$procurement_id)->get();
-        foreach ($procurementDeliveries as $delivery){
-            $deliverAmount+=(int)$delivery->amount;
+        $procurementDelivery=ProcurementDeliverie::query()->where('id',$param['id'])->first();
+        if (!$procurementDelivery){
+            response()->json(['status'=>0,'message' => '未指定送货单','data'=>null], 401);
         }
-
+        $procurement_id=$procurementDelivery->procurement_id;
         $procurement=Procurement::query()->find($procurement_id);
-        $procurementDelivery=null;
+        $initial_amount=$procurementDelivery->amount;
+
         if ($procurement){
             if ($param['delivernum']>$procurement->quantity){
                 response()->json(['status'=>0,'message' => '送货数量大于采购数量','data'=>null], 401);
@@ -230,19 +229,17 @@ class ProcurementController extends Controller
             if ($param['delivernum']==0){
                 response()->json(['status'=>0,'message' => '送货数量不能为零','data'=>null], 401);
             }
-            if (($param['delivernum']+$deliverAmount) < $procurement->quantity && $procurement->status==5){
-                $procurementDelivery=ProcurementDeliverie::query()->where('id',$param['id'])->update(['amount'=>$param['delivernum']]);
-                if($procurementDelivery){
-                    $procurementDeliver=new ProcurementDeliverie();
-                    $procurementDeliver['procurement_id']=$procurement->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]);
-                }
+            if ($procurement->status==5 && (int)$initial_amount!=(int)$param['delivernum']){
+                $procurementDelivery->update(['amount'=>$param['delivernum']]);
+                $procurementDeliver=new ProcurementDeliverie();
+                $procurementDeliver['procurement_id']=$procurement->id;
+                $procurementDeliver['amount']=((int)$initial_amount-(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']]);
             }

+ 1 - 1
app/RejectedBill.php

@@ -166,7 +166,7 @@ class RejectedBill extends Model
         $order_issue_rejected_bill = OrderIssueRejectedBill::query()->select('logistic_number_return')
             ->where('logistic_number_return',$this->logistic_number_return)->first();
         if ($order_issue_rejected_bill){
-            $order_issue_rejected_bill->delete();
+            OrderIssueRejectedBill::query()->where('logistic_number_return',$this->logistic_number_return)->delete();
             SyncOrderRejectingStatusJob::dispatch($this);
         }
         return parent::delete();