|
|
@@ -50,11 +50,13 @@ class StockOutOrderClass extends BaseClass
|
|
|
|
|
|
$outShopId = $data['outShopId'] ?? 0;
|
|
|
$outMainId = $data['outMainId'] ?? 0;
|
|
|
+ $staffName = $data['staffName'] ?? '';
|
|
|
|
|
|
$ids = array_column($ghsItemInfo, 'productId');
|
|
|
$productList = ProductClass::getAllByCondition(['id' => ['in', $ids]], null, 'id,avCost', 'id');
|
|
|
|
|
|
$order = self::add($data, true);
|
|
|
+ $map = [];
|
|
|
//先减库存,若取消出库则加回来
|
|
|
foreach ($ghsItemInfo as $k => $v) {
|
|
|
$productId = $v['productId'] ?? 0;
|
|
|
@@ -63,6 +65,12 @@ class StockOutOrderClass extends BaseClass
|
|
|
$stockInfo = ProductClass::decreaseStock($v['productId'], $v['bigNum'], $v['smallNum'], true, false, ['cost' => $avCost]);
|
|
|
$ghsItemInfo[$k]['oldStock'] = $stockInfo['oldStock'];
|
|
|
$ghsItemInfo[$k]['newStock'] = $stockInfo['newStock'];
|
|
|
+ $newAvCost = $stockInfo['avCost'] ?? 0;
|
|
|
+ $totalCost = $stockInfo['totalCost'] ?? 0;
|
|
|
+ $totalStock = $stockInfo['totalStock'] ?? 0;
|
|
|
+ $changeCost = $stockInfo['changeCost'] ?? 0;
|
|
|
+ $unitCost = $stockInfo['unitCost'] ?? 0;
|
|
|
+ $map[$productId] = ['avCost' => $newAvCost, 'totalCost' => $totalCost, 'totalStock' => $totalStock, 'changeCost' => $changeCost,'unitCost'=>$unitCost];
|
|
|
}
|
|
|
|
|
|
//写入详情表
|
|
|
@@ -84,10 +92,30 @@ class StockOutOrderClass extends BaseClass
|
|
|
$orderData = self::getOrderDetail($orderSn, $data['outShopId']);
|
|
|
$orderData['shopId'] = $outShopId;
|
|
|
$orderData['mainId'] = $outMainId;
|
|
|
+
|
|
|
+ $orderData['staffName'] = $staffName;
|
|
|
+ $orderData['relateName'] = $staffName;
|
|
|
+
|
|
|
$itemInfo = $orderData['itemInfo'] ?? [];
|
|
|
if (empty($itemInfo)) {
|
|
|
util::fail("订单异常");
|
|
|
}
|
|
|
+ //把平均成本相关参数加进入,存到库存变动明细里去 ssh
|
|
|
+ foreach ($itemInfo as $cKey => $cVal) {
|
|
|
+ $productId = $cVal['productId'] ?? 0;
|
|
|
+ $mapItem = $map[$productId] ?? [];
|
|
|
+ $avCost = $mapItem['avCost'] ?? 0;
|
|
|
+ $totalCost = $mapItem['totalCost'] ?? 0;
|
|
|
+ $totalStock = $mapItem['totalStock'] ?? 0;
|
|
|
+ $changeCost = $mapItem['changeCost'] ?? 0;
|
|
|
+ $unitCost = $mapItem['unitCost']??0;
|
|
|
+ $itemInfo[$cKey]['avCost'] = $avCost;
|
|
|
+ $itemInfo[$cKey]['totalCost'] = $totalCost;
|
|
|
+ $itemInfo[$cKey]['totalStock'] = $totalStock;
|
|
|
+ $itemInfo[$cKey]['changeCost'] = $changeCost;
|
|
|
+ $itemInfo[$cKey]['unitCost'] = $unitCost;
|
|
|
+ }
|
|
|
+ $orderData['itemInfo'] = $itemInfo;
|
|
|
$orderData['ptStyle'] = dict::getDict('ptStyle', 'ghs');
|
|
|
StockRecordClass::addRecordByOrder($orderData, StockRecordClass::STOCK_RECORD_TYPE_OUT_STOCK);
|
|
|
if ($action === self::ACTION_CONFIRM) {
|
|
|
@@ -138,7 +166,7 @@ class StockOutOrderClass extends BaseClass
|
|
|
util::fail("订单异常");
|
|
|
}
|
|
|
$orderData['shopId'] = $shopId;
|
|
|
- //写入一条数据到入库门店的入库订单表,生成入库订单号
|
|
|
+ //写入一条数据到入库店的入库订单表,生成入库订单号
|
|
|
$inOrderData = StockInOrderClass::addOrder($orderData);
|
|
|
$inOrderSn = $inOrderData['orderSn'];
|
|
|
//更新入库订单号
|