mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-11-30 22:20:45 +00:00
鲜花2.0-导购成本价覆盖
This commit is contained in:
parent
2a36638d75
commit
0e78cc2d43
@ -76,7 +76,7 @@ class LossRecordController extends Controller
|
|||||||
$lossRecords->external_sku_id = $allParams['external_sku_id'];
|
$lossRecords->external_sku_id = $allParams['external_sku_id'];
|
||||||
$lossRecords->num = $allParams['num'];
|
$lossRecords->num = $allParams['num'];
|
||||||
$lossRecords->cost = $allParams['cost'];
|
$lossRecords->cost = $allParams['cost'];
|
||||||
$lossRecords->date = $today;
|
$lossRecords->date = $allParams['date'] ?? $today;
|
||||||
$lossRecords->buyer_user_id = $allParams['buyer_user_id'] ?? ($buyerUserId ?? 0);
|
$lossRecords->buyer_user_id = $allParams['buyer_user_id'] ?? ($buyerUserId ?? 0);
|
||||||
$lossRecords->buyer_name = $allParams['buyer_name'] ?? '';
|
$lossRecords->buyer_name = $allParams['buyer_name'] ?? '';
|
||||||
$lossRecords->reason = $allParams['reason'] ?? '';
|
$lossRecords->reason = $allParams['reason'] ?? '';
|
||||||
|
|||||||
@ -5,6 +5,7 @@ namespace App\Http\Controllers\Supplier;
|
|||||||
use App\Events\BatchStockUpdateEvent;
|
use App\Events\BatchStockUpdateEvent;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Enum\ExcelKeyEnum;
|
use App\Http\Enum\ExcelKeyEnum;
|
||||||
|
use App\Http\Enum\TargetTypeEnum;
|
||||||
use App\Http\Resources\GoodsSkuResource;
|
use App\Http\Resources\GoodsSkuResource;
|
||||||
use App\Http\Resources\RolesResource;
|
use App\Http\Resources\RolesResource;
|
||||||
use App\Imports\PurchaseImport;
|
use App\Imports\PurchaseImport;
|
||||||
@ -98,7 +99,7 @@ class PurchaseRecordController extends Controller
|
|||||||
}
|
}
|
||||||
$purchaseRecords->save();
|
$purchaseRecords->save();
|
||||||
|
|
||||||
$updateIds = GoodSkuService::computeSkuStock($goodsSku->toArray(), $allParams);
|
$updateIds = GoodSkuService::computeSkuStock($goodsSku->toArray(), $allParams,TargetTypeEnum::PURCHASE);
|
||||||
event(new BatchStockUpdateEvent($updateIds));
|
event(new BatchStockUpdateEvent($updateIds));
|
||||||
} else {
|
} else {
|
||||||
$this->res = [
|
$this->res = [
|
||||||
@ -200,7 +201,7 @@ class PurchaseRecordController extends Controller
|
|||||||
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
||||||
$purchaseRecords->save();
|
$purchaseRecords->save();
|
||||||
|
|
||||||
$updateIds = GoodSkuService::computeSkuStock($goodsSkuItem, $v);
|
$updateIds = GoodSkuService::computeSkuStock($goodsSkuItem, $v,TargetTypeEnum::PURCHASE);
|
||||||
|
|
||||||
}
|
}
|
||||||
//如果是組合商品会触发重算逻辑
|
//如果是組合商品会触发重算逻辑
|
||||||
|
|||||||
13
app/Http/Enum/TargetTypeEnum.php
Normal file
13
app/Http/Enum/TargetTypeEnum.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Enum;
|
||||||
|
|
||||||
|
|
||||||
|
class TargetTypeEnum
|
||||||
|
{
|
||||||
|
|
||||||
|
const PURCHASE = "purchase";
|
||||||
|
|
||||||
|
const LOSS = "loss";
|
||||||
|
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@
|
|||||||
namespace App\Imports;
|
namespace App\Imports;
|
||||||
|
|
||||||
use App\Events\BatchStockUpdateEvent;
|
use App\Events\BatchStockUpdateEvent;
|
||||||
|
use App\Http\Enum\TargetTypeEnum;
|
||||||
use App\Jobs\SyncCostToMiaoXuan;
|
use App\Jobs\SyncCostToMiaoXuan;
|
||||||
use App\Models\DailyStockRecord;
|
use App\Models\DailyStockRecord;
|
||||||
use App\Models\GoodsSku;
|
use App\Models\GoodsSku;
|
||||||
@ -79,7 +80,7 @@ class PurchaseImport implements ToArray, SkipsEmptyRows
|
|||||||
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
||||||
$purchaseRecords->save();
|
$purchaseRecords->save();
|
||||||
|
|
||||||
$updateIds += GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => $row[2], 'cost' => $row[3]]);
|
$updateIds += GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => $row[2], 'cost' => $row[3]], TargetTypeEnum::PURCHASE);
|
||||||
}
|
}
|
||||||
Log::info("采购导入内容:", $collection);
|
Log::info("采购导入内容:", $collection);
|
||||||
// 批量更新
|
// 批量更新
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
namespace App\Services\GoodSku;
|
namespace App\Services\GoodSku;
|
||||||
|
|
||||||
use App\Events\BatchStockUpdateEvent;
|
use App\Events\BatchStockUpdateEvent;
|
||||||
|
use App\Http\Enum\TargetTypeEnum;
|
||||||
use App\Models\BusinessOrderItem;
|
use App\Models\BusinessOrderItem;
|
||||||
use App\Models\CombinationGood;
|
use App\Models\CombinationGood;
|
||||||
use App\Models\DailyStockRecord;
|
use App\Models\DailyStockRecord;
|
||||||
@ -112,7 +113,7 @@ class GoodSkuService
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static function computeSkuStock(array $goodsSkuItem, array $v)
|
public static function computeSkuStock(array $goodsSkuItem, array $v, $targetType = TargetTypeEnum::LOSS)
|
||||||
{
|
{
|
||||||
$updateIds = [];
|
$updateIds = [];
|
||||||
Log::info("库存更新前完整商品信息", $goodsSkuItem);
|
Log::info("库存更新前完整商品信息", $goodsSkuItem);
|
||||||
@ -122,14 +123,15 @@ class GoodSkuService
|
|||||||
$updateParam = [
|
$updateParam = [
|
||||||
'stock' => $goodsSkuItem['stock'] + $v['num'],
|
'stock' => $goodsSkuItem['stock'] + $v['num'],
|
||||||
'sale_stock' => $goodsSkuItem['sale_stock'] + $v['num'],
|
'sale_stock' => $goodsSkuItem['sale_stock'] + $v['num'],
|
||||||
'cost' => $v['cost'],
|
|
||||||
];
|
];
|
||||||
|
if ($targetType == TargetTypeEnum::PURCHASE) {
|
||||||
|
$updateParam['cost'] = $v['cost'];
|
||||||
|
}
|
||||||
GoodsSku::query()->where('external_sku_id', "=", $goodsSkuItem['external_sku_id'])
|
GoodsSku::query()->where('external_sku_id', "=", $goodsSkuItem['external_sku_id'])
|
||||||
->update($updateParam);
|
->update($updateParam);
|
||||||
$updateIds[] = $goodsSkuItem['id'];
|
$updateIds[] = $goodsSkuItem['id'];
|
||||||
$updateParams[] = $updateParam;
|
$updateParams[] = $updateParam;
|
||||||
} else {
|
} else {
|
||||||
//组合商品 这里需要重新获取 减少更新丢失概率
|
|
||||||
$combinationGood = CombinationGood::query()->with('goodsSkuItem:id,stock,sale_stock')
|
$combinationGood = CombinationGood::query()->with('goodsSkuItem:id,stock,sale_stock')
|
||||||
->where('goods_sku_id', $goodsSkuItem['id'])->get();
|
->where('goods_sku_id', $goodsSkuItem['id'])->get();
|
||||||
foreach ($combinationGood as $item) {
|
foreach ($combinationGood as $item) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user