|
|
@@ -47,48 +47,38 @@ class StockOutOrderClass extends BaseClass
|
|
|
$outShopId = $data['outShopId'] ?? 0;
|
|
|
$outMainId = $data['outMainId'] ?? 0;
|
|
|
|
|
|
- $connection = Yii::$app->db;
|
|
|
- $transaction = $connection->beginTransaction();
|
|
|
-
|
|
|
- try {
|
|
|
- $order = self::add($data);
|
|
|
- //先减库存,若取消出库则加回来
|
|
|
- foreach ($ghsItemInfo as $k => $v) {
|
|
|
- $stockInfo = ProductClass::decreaseStock($v['productId'], $v['bigNum'], $v['smallNum'], true);
|
|
|
- $ghsItemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
|
|
|
- $ghsItemInfo[$k]['newStock'] = $stockInfo['newStock'];
|
|
|
- }
|
|
|
|
|
|
- //写入详情表
|
|
|
- $batchData = self::groupOrderItem($ghsItemInfo, $orderSn);
|
|
|
- foreach ($batchData as $outKey => $outVal) {
|
|
|
- $batchData[$outKey]['mainId'] = $outMainId;
|
|
|
- $batchData[$outKey]['shopId'] = $outShopId;
|
|
|
- }
|
|
|
- StockOutOrderItemClass::batchAddOrderItem($batchData);
|
|
|
+ $order = self::add($data);
|
|
|
+ //先减库存,若取消出库则加回来
|
|
|
+ foreach ($ghsItemInfo as $k => $v) {
|
|
|
+ $stockInfo = ProductClass::decreaseStock($v['productId'], $v['bigNum'], $v['smallNum'], true);
|
|
|
+ $ghsItemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $ghsItemInfo[$k]['newStock'] = $stockInfo['newStock'];
|
|
|
+ }
|
|
|
|
|
|
- $orderData = self::getOrderDetail($orderSn, $data['outShopId']);
|
|
|
- $orderData['shopId'] = $outShopId;
|
|
|
- $orderData['mainId'] = $outMainId;
|
|
|
- $itemInfo = $orderData['itemInfo'] ?? [];
|
|
|
- if (empty($itemInfo)) {
|
|
|
- $transaction->rollBack();
|
|
|
- util::fail("订单异常");
|
|
|
- }
|
|
|
- //写流水
|
|
|
- StockRecordClass::addRecordByOrder($orderData, StockRecordClass::STOCK_RECORD_TYPE_OUT_STOCK);
|
|
|
+ //写入详情表
|
|
|
+ $batchData = self::groupOrderItem($ghsItemInfo, $orderSn);
|
|
|
+ foreach ($batchData as $outKey => $outVal) {
|
|
|
+ $batchData[$outKey]['mainId'] = $outMainId;
|
|
|
+ $batchData[$outKey]['shopId'] = $outShopId;
|
|
|
+ }
|
|
|
+ StockOutOrderItemClass::batchAddOrderItem($batchData);
|
|
|
|
|
|
- $transaction->commit();
|
|
|
- if ($action === self::ACTION_CONFIRM) {
|
|
|
- //直接出库=》待入库
|
|
|
- self::confirmOrder($orderSn, $data['outShopId'], $data['adminId']);
|
|
|
- }
|
|
|
- return $order;
|
|
|
- } catch (\Exception $exception) {
|
|
|
+ $orderData = self::getOrderDetail($orderSn, $data['outShopId']);
|
|
|
+ $orderData['shopId'] = $outShopId;
|
|
|
+ $orderData['mainId'] = $outMainId;
|
|
|
+ $itemInfo = $orderData['itemInfo'] ?? [];
|
|
|
+ if (empty($itemInfo)) {
|
|
|
$transaction->rollBack();
|
|
|
- util::fail('保存失败' . $exception->getMessage());
|
|
|
+ util::fail("订单异常");
|
|
|
}
|
|
|
-
|
|
|
+ //写流水
|
|
|
+ StockRecordClass::addRecordByOrder($orderData, StockRecordClass::STOCK_RECORD_TYPE_OUT_STOCK);
|
|
|
+ if ($action === self::ACTION_CONFIRM) {
|
|
|
+ //直接出库=》待入库
|
|
|
+ self::confirmOrder($orderSn, $data['outShopId'], $data['adminId']);
|
|
|
+ }
|
|
|
+ return $order;
|
|
|
}
|
|
|
|
|
|
|