|
|
@@ -37,6 +37,7 @@ class StockWastageOrderClass extends BaseClass
|
|
|
|
|
|
public static function addOrder($post)
|
|
|
{
|
|
|
+ $mainId = $post['mainId'] ?? 0;
|
|
|
$data = [];
|
|
|
$data['status'] = self::STATUS_COMPLETE;
|
|
|
$orderSn = orderSn::getGhsStockWastageSn();
|
|
|
@@ -53,48 +54,45 @@ class StockWastageOrderClass extends BaseClass
|
|
|
$data['bigNum'] = $sumNum['bigNum'];
|
|
|
$data['smallNum'] = $sumNum['smallNum'];
|
|
|
$data['remark'] = $post['remark'] ?? '';
|
|
|
- $data['mainId'] = $post['mainId'] ?? 0;
|
|
|
-
|
|
|
- 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);
|
|
|
- StockWastageOrderItemClass::batchAddOrderItem($batchData);
|
|
|
- $orderData = self::getOrderDetail($orderSn, $data['shopId']);
|
|
|
- $orderData['shopId'] = $data['shopId'];
|
|
|
- //写流水
|
|
|
- StockRecordClass::addRecordByOrder($orderData, StockRecordClass::STOCK_RECORD_TYPE_WASTAGE);
|
|
|
-
|
|
|
- $shop = ShopClass::getLockById($data['shopId']);
|
|
|
- if (empty($shop)) {
|
|
|
- util::fail('没有找到门店');
|
|
|
- }
|
|
|
+ $data['mainId'] = $mainId;
|
|
|
+
|
|
|
+ //写入订单表
|
|
|
+ $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);
|
|
|
+ StockWastageOrderItemClass::batchAddOrderItem($batchData);
|
|
|
+ $orderData = self::getOrderDetail($orderSn, $mainId);
|
|
|
+ $orderData['shopId'] = $data['shopId'];
|
|
|
+ //写流水
|
|
|
+ StockRecordClass::addRecordByOrder($orderData, StockRecordClass::STOCK_RECORD_TYPE_WASTAGE);
|
|
|
+
|
|
|
+ $shop = ShopClass::getLockById($data['shopId']);
|
|
|
+ if (empty($shop)) {
|
|
|
+ util::fail('没有找到门店');
|
|
|
+ }
|
|
|
|
|
|
- //计算成本价
|
|
|
- $wastage = 0;
|
|
|
- foreach ($batchData as $v) {
|
|
|
- $num = $v['itemNum'] ?? 0;
|
|
|
- $cost = $v['itemCost'] ?? 0;
|
|
|
- $wastage = bcadd($wastage, bcmul($num, $cost, 2), 2);
|
|
|
- }
|
|
|
- $currentTotalExpend = bcadd($shop->totalExpend, $wastage, 2);
|
|
|
- $shop->totalExpend = $currentTotalExpend;
|
|
|
- $currentWast = bcadd($shop->totalWast, $wastage, 2);
|
|
|
- $shop->totalWast = $currentWast;
|
|
|
- $shop->save();
|
|
|
+ //计算成本价
|
|
|
+ $wastage = 0;
|
|
|
+ foreach ($batchData as $v) {
|
|
|
+ $num = $v['itemNum'] ?? 0;
|
|
|
+ $cost = $v['itemCost'] ?? 0;
|
|
|
+ $wastage = bcadd($wastage, bcmul($num, $cost, 2), 2);
|
|
|
+ }
|
|
|
+ $currentTotalExpend = bcadd($shop->totalExpend, $wastage, 2);
|
|
|
+ $shop->totalExpend = $currentTotalExpend;
|
|
|
+ $currentWast = bcadd($shop->totalWast, $wastage, 2);
|
|
|
+ $shop->totalWast = $currentWast;
|
|
|
+ $shop->save();
|
|
|
|
|
|
- StatWastClass::replace($shop, $wastage);
|
|
|
+ StatWastClass::replace($shop, $wastage);
|
|
|
+
|
|
|
+ return $order;
|
|
|
|
|
|
- return $order;
|
|
|
- } catch (\Exception $exception) {
|
|
|
- util::fail("入库失败" . $exception->getMessage());
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
//2021.1.23 linqh 订单详情
|
|
|
@@ -117,8 +115,6 @@ class StockWastageOrderClass extends BaseClass
|
|
|
$itemData[] = $tmp;
|
|
|
}
|
|
|
}
|
|
|
- //下面注释放开前,员工id要用shopAdminId
|
|
|
- //$orderData = self::groupAdmin($orderData);
|
|
|
$orderData['itemInfo'] = $itemData;
|
|
|
return $orderData;
|
|
|
}
|
|
|
@@ -128,7 +124,7 @@ class StockWastageOrderClass extends BaseClass
|
|
|
{
|
|
|
$orderData = self::getByCondition($where);
|
|
|
if (!$orderData) {
|
|
|
- util::fail('订单不存在或不能取消');
|
|
|
+ util::fail('订单不存在');
|
|
|
}
|
|
|
return $orderData;
|
|
|
}
|