|
|
@@ -106,8 +106,23 @@ class OrderClass extends BaseClass
|
|
|
//添加订单 ssh 2019.12.5
|
|
|
public static function addOrder($data)
|
|
|
{
|
|
|
+ //2021.8.9 linqh
|
|
|
+ $isUpdateOrder = $data['id'] ?? 0;//是否修改订单,是则为对应的订单id
|
|
|
+ if ($isUpdateOrder) {
|
|
|
+ //退回库存
|
|
|
+ //$oldOrder = self::backStockByUpdateOrder($isUpdateOrder);
|
|
|
+ //2021.8.10 不处理库存退回,要先取消订单
|
|
|
+ $oldOrder = self::getById($isUpdateOrder);
|
|
|
+ if ($oldOrder['status'] != self::ORDER_STATUS_CANCEL) {
|
|
|
+ //订单未取消
|
|
|
+ util::fail("不允许操作未取消的订单");
|
|
|
+ }
|
|
|
+ $orderSn = $oldOrder['orderSn']; //沿用之前的订单号
|
|
|
+ } else {
|
|
|
+ $orderSn = orderSn::getGhsOrderSn();
|
|
|
+ }
|
|
|
$sjId = $data['sjId'] ?? 0;
|
|
|
- $orderSn = orderSn::getGhsOrderSn();
|
|
|
+
|
|
|
$data['orderSn'] = $orderSn;
|
|
|
$data['payStatus'] = self::PAY_STATUS_UN_PAY;
|
|
|
$data['customId'] = isset($data['customId']) && !empty($data['customId']) ? $data['customId'] : 0;
|
|
|
@@ -183,21 +198,34 @@ class OrderClass extends BaseClass
|
|
|
|
|
|
$data['weight'] = $weight;
|
|
|
|
|
|
- //门店总订单数+1
|
|
|
- $shop = ShopClass::getLockById($currentShopId);
|
|
|
- if (empty($shop)) {
|
|
|
- util::fail('没有找到门店');
|
|
|
+ //此处代码 少华再确认下----2021.8.10 linqh
|
|
|
+ if (!$isUpdateOrder) {
|
|
|
+ //非修改 订单 2021.8.9 linqh
|
|
|
+ //门店总订单数+1
|
|
|
+ $shop = ShopClass::getLockById($currentShopId);
|
|
|
+ if (empty($shop)) {
|
|
|
+ util::fail('没有找到门店');
|
|
|
+ }
|
|
|
+ $shop->totalOrder += 1;
|
|
|
+ $shop->unPayOrder += 1;
|
|
|
+ $shop->save();
|
|
|
+ //将当天日期+花店每天的总订单数作为编号
|
|
|
+ $data['sendNum'] = date("n") . StatOrderCountClass::addOrder($shop);
|
|
|
}
|
|
|
- $shop->totalOrder += 1;
|
|
|
- $shop->unPayOrder += 1;
|
|
|
- $shop->save();
|
|
|
|
|
|
- //将当天日期+花店每天的总订单数作为编号
|
|
|
- $data['sendNum'] = date("n") . StatOrderCountClass::addOrder($shop);
|
|
|
|
|
|
$current = time() + 300;
|
|
|
$data['deadline'] = isset($data['deadline']) ? $data['deadline'] : date("Y-m-d H:i:s", $current);
|
|
|
- $return = self::add($data, true);
|
|
|
+ if ($isUpdateOrder) {
|
|
|
+ //修改 //此处代码 少华再确认下----2021.8.10 linqh
|
|
|
+ $upData = $data;
|
|
|
+ unset($upData['id']);
|
|
|
+ self::updateById($isUpdateOrder, $upData);
|
|
|
+ $return = self::getById($isUpdateOrder, true);
|
|
|
+ } else {
|
|
|
+ $return = self::add($data, true);
|
|
|
+ }
|
|
|
+
|
|
|
return $return;
|
|
|
}
|
|
|
|
|
|
@@ -225,9 +253,9 @@ class OrderClass extends BaseClass
|
|
|
$print = ['type' => 'print', 'show' => 1, 'disable' => 0, 'name' => '打印'];
|
|
|
$modifyProduct = ['type' => 'modifyProduct', 'show' => 1, 'disable' => 0, 'name' => '修改花材'];
|
|
|
$confirm = ['type' => 'confirm', 'show' => 1, 'disable' => 1, 'name' => '确认'];
|
|
|
+ $cancel = ['type' => 'cancel', 'show' => 1, 'disable' => 0, 'name' => '取消'];
|
|
|
|
|
|
if ($isList) {
|
|
|
-
|
|
|
//订单列表页显示的按钮
|
|
|
|
|
|
$item = ['type' => 'item', 'show' => 0, 'disable' => 1, 'name' => '改花材'];
|
|
|
@@ -257,13 +285,10 @@ class OrderClass extends BaseClass
|
|
|
$send['disable'] = 1;
|
|
|
$selfGet['disable'] = 1;
|
|
|
$print['disable'] = 1;
|
|
|
- $modifyProduct['disable'] = 1;
|
|
|
}
|
|
|
- $modifyProduct['show'] = 0;
|
|
|
- return [$item, $send, $selfGet, $print, $modifyProduct, $confirm];
|
|
|
+ return [$item, $send, $selfGet, $print, $confirm];
|
|
|
|
|
|
} else {
|
|
|
-
|
|
|
//订单详情页显示的按钮
|
|
|
|
|
|
//待确认订单显示延期付和已付款
|
|
|
@@ -271,7 +296,7 @@ class OrderClass extends BaseClass
|
|
|
$debtPay = ['type' => 'debtPay', 'show' => 0, 'disable' => 0];
|
|
|
$hasPay = ['type' => 'hasPay', 'show' => 0, 'disable' => 0];
|
|
|
$confirm['disable'] = 0;
|
|
|
- return [$print, $debtPay, $hasPay, $modifyProduct, $confirm];
|
|
|
+ return [$print, $debtPay, $hasPay, $confirm, $cancel];
|
|
|
}
|
|
|
|
|
|
//待配送订单显示打印、发货和自取
|
|
|
@@ -280,17 +305,17 @@ class OrderClass extends BaseClass
|
|
|
$selfGet = ['type' => 'selfGet', 'show' => 1, 'disable' => 1];
|
|
|
$send = ['type' => 'send', 'show' => 1, 'disable' => 1];
|
|
|
if ($order['hasItem'] == 2) {
|
|
|
- return [$print, $item, $selfGet, $send, $modifyProduct];
|
|
|
+ return [$print, $item, $selfGet, $send];
|
|
|
}
|
|
|
$selfGet['disable'] = 0;
|
|
|
$send['disable'] = 0;
|
|
|
$item['disable'] = 0;
|
|
|
- return [$print, $item, $selfGet, $send, $modifyProduct];
|
|
|
+ return [$print, $item, $selfGet, $send];
|
|
|
}
|
|
|
//配送中显示按钮
|
|
|
if ($order['status'] == self::ORDER_STATUS_SENDING) {
|
|
|
$send = ['type' => 'send', 'show' => 1, 'disable' => 0];
|
|
|
- return [$print, $send, $modifyProduct];
|
|
|
+ return [$print, $send];
|
|
|
}
|
|
|
//完成
|
|
|
if ($order['status'] == self::ORDER_STATUS_COMPLETE) {
|
|
|
@@ -299,13 +324,14 @@ class OrderClass extends BaseClass
|
|
|
if ($order['sendType'] == self::SEND_TYPE_NO) {
|
|
|
$send['show'] = 0;
|
|
|
}
|
|
|
- return [$print, $send, $modifyProduct];
|
|
|
+ return [$print, $send];
|
|
|
}
|
|
|
//取消订单置灰
|
|
|
if ($order['status'] == self::ORDER_STATUS_CANCEL) {
|
|
|
$selfGet['disable'] = 1;
|
|
|
$send['disable'] = 1;
|
|
|
$print['disable'] = 1;
|
|
|
+ return [$modifyProduct];
|
|
|
}
|
|
|
return [];
|
|
|
}
|
|
|
@@ -767,4 +793,30 @@ class OrderClass extends BaseClass
|
|
|
return $order;
|
|
|
}
|
|
|
|
|
|
+ //修改订单--库存退回 linqh 2021.8.9
|
|
|
+ public static function backStockByUpdateOrder($id)
|
|
|
+ {
|
|
|
+ $order = self::getLockById($id);
|
|
|
+ $shopId = $order->shopId;
|
|
|
+ $shop = ShopClass::getLockById($shopId);
|
|
|
+ if (empty($shop)) {
|
|
|
+ util::fail('没有找到门店');
|
|
|
+ }
|
|
|
+ //加回库存
|
|
|
+ $orderItem = OrderItemClass::getOrderItem($order->orderSn);
|
|
|
+ foreach ($orderItem as $v) {
|
|
|
+ $stockInfo = ProductClass::addStockByItemNum($v['productId'], $v['num']);
|
|
|
+ $recordData = [];
|
|
|
+ $recordData['sjId'] = $order->sjId;
|
|
|
+ $recordData['shopId'] = $shopId;
|
|
|
+ $recordData['itemId'] = $v['itemId'] ?? 0;
|
|
|
+ $recordData['itemNum'] = $v['num'];
|
|
|
+ $recordData['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $recordData['newStock'] = $stockInfo['newStock'];
|
|
|
+ $recordData['productId'] = $v['productId'];
|
|
|
+ $recordData['orderSn'] = $order->orderSn;
|
|
|
+ StockRecordService::addSellStockOrderCancelRecord($recordData);
|
|
|
+ }
|
|
|
+ return $order;
|
|
|
+ }
|
|
|
}
|