浏览代码

采购分批送货修改

eric2h 4 年之前
父节点
当前提交
8e07eb60e6

+ 5 - 4
app/Http/Controllers/TestController.php

@@ -13,6 +13,7 @@ use App\OrderIssue;
 use App\OrderIssueRejectedBill;
 use App\RejectedBill;
 use App\Services\common\BatchUpdateService;
+use App\Services\OracleDocAsnHerderService;
 use App\Services\OrderRejectedBillRelationService;
 use App\Services\OrderRejectingStatusService;
 use App\Services\RejectedService;
@@ -115,10 +116,10 @@ class TestController extends Controller
 
     public function testQuery()
     {
-        /** @var WorkOrder $item */
-        $item = WorkOrder::query()->with('orderIssueRejectedBills')->find(9);
-        $item->orderIssueRejectedBills()->where('logistic_number_return','75810638245215')->delete();
-        dd($item);
+        /** @var OracleDocAsnHerderService $oracleDocAsnHerderService */
+        $oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
+        $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate('2022-01-20 16:38:00');
+        dd($asnHerders);
     }
 }
 

+ 25 - 1
app/Http/Controllers/api/thirdPart/weixin/ProcurementController.php

@@ -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);
     }