|
|
@@ -323,4 +323,46 @@ class StockInOrderClass extends BaseClass
|
|
|
}
|
|
|
return $list;
|
|
|
}
|
|
|
+
|
|
|
+ //取消入库
|
|
|
+ public static function cancelOrder($orderSn, $shopId, $adminId)
|
|
|
+ {
|
|
|
+ $where = [
|
|
|
+ 'orderSn' => $orderSn,
|
|
|
+ 'status' => self::STATUS_WAIT,
|
|
|
+ 'inShopId' => $shopId,
|
|
|
+ ];
|
|
|
+ $order = self::orderExist($where);
|
|
|
+ $data = [
|
|
|
+ 'status' => self::STATUS_CANCEL,
|
|
|
+ 'adminId' => $adminId,
|
|
|
+ ];
|
|
|
+
|
|
|
+ $outOrderSn = $order['outOrderSn'];
|
|
|
+ $outShopId = $order['outShopId'];
|
|
|
+
|
|
|
+ $outOrderData = StockOutOrderClass::getOrderDetail($outOrderSn, $outShopId);
|
|
|
+ $outOrderData['shopId'] = $outShopId;
|
|
|
+ //加库存
|
|
|
+ $itemInfo = $outOrderData['itemInfo'] ?? [];
|
|
|
+ if (empty($itemInfo)) {
|
|
|
+ util::fail("订单异常");
|
|
|
+ }
|
|
|
+ foreach ($itemInfo as $k => $v) {
|
|
|
+ $stockInfo = ProductClass::addStockByItemNum($v['productId'], $v['itemNum']);
|
|
|
+ $itemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $itemInfo[$k]['itemStock'] = $stockInfo['oldStock'];
|
|
|
+ $itemInfo[$k]['newStock'] = $stockInfo['newStock'];
|
|
|
+ }
|
|
|
+ $outOrderData['itemInfo'] = $itemInfo;
|
|
|
+ StockRecordClass::addRecordByOrder($outOrderData, StockRecordClass::STOCK_RECORD_TYPE_IN_STOCK_CANCEL);
|
|
|
+ self::updateByCondition($where, $data);
|
|
|
+
|
|
|
+ //修改出库订单状态
|
|
|
+ $whereOut = [
|
|
|
+ 'orderSn'=>$outOrderSn,
|
|
|
+ 'outShopId'=>$outShopId,
|
|
|
+ ];
|
|
|
+ StockOutOrderClass::updateByCondition($whereOut,$data);
|
|
|
+ }
|
|
|
}
|