diff --git a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php index 7f792b6e3..6c95c4652 100644 --- a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php +++ b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php @@ -158,6 +158,7 @@ class BeforehandOrderLogic extends BaseLogic 'store_id' => $store_id, 'financial_pm' => 0, 'batch' => 1, + 'order_type' => $order['order_type'], 'nums' => $arr['cart_num'], 'status' => 1, 'admin_id' => $admin_id, diff --git a/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php b/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php index f1c0d8847..4e221db77 100644 --- a/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php +++ b/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php @@ -64,18 +64,22 @@ class SystemStoreStorageLogic extends BaseLogic Db::startTrans(); try { $find=SystemStoreStorage::where(['id' => $params['id']])->find(); - if($find){ - $find->save(['status'=>1,'staff_id'=>$params['staff_id']??0,'admin_id'=>$params['admin_id']??0,'mark'=>'入库时间:'.date('Y-m-d H:i:s',time())]); - $branch_product=StoreBranchProduct::where(['product_id'=>$find['product_id'],'store_id'=>$find['store_id']])->find(); - if($branch_product){ - $branch_product->save(['stock'=>$branch_product['stock']+$find['nums']]); + if($find['order_type']==1){ + $find->save(['status'=>1,'staff_id'=>$params['staff_id']??0,'admin_id'=>$params['admin_id']??0,'mark'=>'入库时间:'.date('Y-m-d H:i:s',time())]); + $branch_product=StoreBranchProduct::where(['product_id'=>$find['product_id'],'store_id'=>$find['store_id']])->find(); + if($branch_product){ + $branch_product->save(['stock'=>$branch_product['stock']+$find['nums']]); + }else{ + $storeProduct = StoreProduct::where('id', $find['product_id'])->findOrEmpty(); + $storeBranchProduct = StoreProductLogic::ordinary(['id' => $find['product_id']], $find['store_id'], 0, $storeProduct); + $storeBranchProduct->stock = $find['nums']; + $storeBranchProduct->save(); + } }else{ - $storeProduct = StoreProduct::where('id', $find['product_id'])->findOrEmpty(); - $storeBranchProduct = StoreProductLogic::ordinary(['id' => $find['product_id']], $find['store_id'], 0, $storeProduct); - $storeBranchProduct->stock = $find['nums']; - $storeBranchProduct->save(); + $find->save(['status'=>1,'staff_id'=>$params['staff_id']??0,'admin_id'=>$params['admin_id']??0,'mark'=>'确认时间:'.date('Y-m-d H:i:s',time())]); } + } Db::commit(); return true; diff --git a/app/admin/logic/warehouse_product/WarehouseProductLogic.php b/app/admin/logic/warehouse_product/WarehouseProductLogic.php index 69b21bbb1..a567b737d 100644 --- a/app/admin/logic/warehouse_product/WarehouseProductLogic.php +++ b/app/admin/logic/warehouse_product/WarehouseProductLogic.php @@ -154,6 +154,7 @@ class WarehouseProductLogic extends BaseLogic SystemStoreStorage::create([ 'store_id' => $params['store_id'], 'admin_id' => $params['admin_id'], + 'order_type' => $params['order_type'], 'staff_id' => 0, 'type' => 1, 'product_id' => $params['product_id'],