|
|
@@ -178,14 +178,22 @@ class PurchaseClass extends BaseClass
|
|
|
if ($cg->status == self::STATUS_UN_SEND) {
|
|
|
$cg = self::orderSend($cg, [], true);
|
|
|
}
|
|
|
- self::takeToPutIn($cg);
|
|
|
+
|
|
|
+ // 构建“冲销”函数的参数 -- 变动前的花材存库数据
|
|
|
+ $purchaseItems = PurchaseItemClass::getAllByCondition(['orderSn' => $cg->orderSn], null, "productId");
|
|
|
+ $productIds = ArrayHelper::getColumn($purchaseItems, 'productId'); //$productIds 是本次入库涉及的花材ID数组
|
|
|
+ $oldStocks = [];
|
|
|
+ foreach ($productIds as $productId) {
|
|
|
+ $product = ProductClass::getById($productId, true);
|
|
|
+ $oldStocks[$productId] = $product;
|
|
|
+ } self::takeToPutIn($cg);
|
|
|
$shop = ShopClass::getLockById($cg->shopId);
|
|
|
if (empty($shop)) {
|
|
|
util::fail('没有找到门店14');
|
|
|
}
|
|
|
$adminId = $shop->adminId;
|
|
|
$mainId = $shop->mainId;
|
|
|
- PurchaseClass::rollbackProductStock($cg->orderSn, $shop, $adminId, $mainId, '系统');
|
|
|
+ PurchaseClass::rollbackProductStock($oldStocks, $shop, $adminId, $mainId, '系统');
|
|
|
}
|
|
|
|
|
|
//确认收货并入库 ssh 20231119
|
|
|
@@ -284,16 +292,8 @@ class PurchaseClass extends BaseClass
|
|
|
}
|
|
|
|
|
|
// 库存回滚为入库前的状态
|
|
|
- public static function rollbackProductStock($orderSn, $shop, $adminId, $mainId, $staffName)
|
|
|
+ public static function rollbackProductStock($oldStocks, $shop, $adminId, $mainId, $staffName)
|
|
|
{
|
|
|
- $purchaseItems = PurchaseItemClass::getAllByCondition(['orderSn' => $orderSn], null, "productId");
|
|
|
- $productIds = ArrayHelper::getColumn($purchaseItems, 'productId'); //$productIds 是本次入库涉及的花材ID数组
|
|
|
- $oldStocks = [];
|
|
|
- foreach ($productIds as $productId) {
|
|
|
- $product = ProductClass::getById($productId, true);
|
|
|
- $oldStocks[$productId] = $product;
|
|
|
- }
|
|
|
-
|
|
|
$itemInfo = [];
|
|
|
foreach ($oldStocks as $productId => $product) {
|
|
|
$ratio = $product->ratio;
|