!104 盘点导入修改

Merge pull request !104 from develop
This commit is contained in:
赵世界 2022-09-16 17:55:40 +00:00 committed by Gitee
commit 0319b7da17
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -8,11 +8,11 @@ use App\Models\GoodsSku;
use App\Utils\DateTimeUtils; use App\Utils\DateTimeUtils;
use Exception; use Exception;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Maatwebsite\Excel\Concerns\SkipsEmptyRows; use Maatwebsite\Excel\Concerns\SkipsEmptyRows;
use Maatwebsite\Excel\Concerns\ToCollection; use Maatwebsite\Excel\Concerns\ToCollection;
use App\Utils\ArrayUtils; use App\Utils\ArrayUtils;
use App\Events\StockUpdateEvent;
class InventoryImport implements ToCollection, SkipsEmptyRows class InventoryImport implements ToCollection, SkipsEmptyRows
{ {
@ -36,8 +36,6 @@ class InventoryImport implements ToCollection, SkipsEmptyRows
$updateIds = []; $updateIds = [];
$day = DateTimeUtils::getToday(); $day = DateTimeUtils::getToday();
$dateTime = date('Y-m-d H:i:s'); $dateTime = date('Y-m-d H:i:s');
DB::beginTransaction();
try {
foreach ($collection as $row) { foreach ($collection as $row) {
if (!isset($hasGoods[$row[0]])) { if (!isset($hasGoods[$row[0]])) {
continue; continue;
@ -51,7 +49,11 @@ class InventoryImport implements ToCollection, SkipsEmptyRows
continue; continue;
} }
$goodsSku->stock = $row[6] + $row[7]; $goodsSku->stock = $row[6] + $row[7];
if ('下架' === $goodsSku->status) {
$goodsSku->status = 1;
}
$goodsSku->save(); $goodsSku->save();
event(new StockUpdateEvent($goodsSku));
$updateIds[] = $goodsSku->id; $updateIds[] = $goodsSku->id;
DailyStockRecord::query()->where('sku_id', $goodsSku->id)->where('day', $day)->update([ DailyStockRecord::query()->where('sku_id', $goodsSku->id)->where('day', $day)->update([
'arrived_today_num' => $row[7], 'arrived_today_num' => $row[7],
@ -59,12 +61,6 @@ class InventoryImport implements ToCollection, SkipsEmptyRows
'inventory_time' => $dateTime 'inventory_time' => $dateTime
]); ]);
} }
DB::commit();
} catch (Exception $exception) {
DB::rollBack();
// 返回错误
throw $exception;
}
$onSkuIds = GoodsSku::query() $onSkuIds = GoodsSku::query()
->where('status', '<>', 0) ->where('status', '<>', 0)
->pluck('id') ->pluck('id')