From 2a36638d75367d3e7845ff8357254c25b6b5a618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=BB=BA=E7=82=8A?= <924182103@qq.com> Date: Wed, 14 Aug 2024 17:40:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=B2=9C=E8=8A=B12.0-=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=B5=8B=E8=AF=95bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Imports/LossImport.php | 9 ++++++--- app/Imports/PurchaseImport.php | 9 ++++++--- app/Utils/DateTimeUtils.php | 17 ++++++++++++++++- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/app/Imports/LossImport.php b/app/Imports/LossImport.php index ec52873..52a4d60 100644 --- a/app/Imports/LossImport.php +++ b/app/Imports/LossImport.php @@ -65,14 +65,17 @@ class LossImport implements ToArray, SkipsEmptyRows $lossRecords->buyer_name = $row[4] ?? ''; $lossRecords->phenomenon = $row[5] ?? ''; $lossRecords->reason = $row[6] ?? ''; - $lossRecords->date = DateTimeUtils::validateDate($row[7] ?? '') ? $row[7] : $today; + $lossRecords->date = $today; + if(!empty($row[7])){ + $lossRecords->date = DateTimeUtils::excelUploadDateToString($row[7],$today); + } $lossRecords->save(); - $updateIds = GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => 0 - $row[2], 'cost' => $row[3]]); + $updateIds += GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => 0 - $row[2], 'cost' => $row[3]]); } Log::info("报损导入内容:", $collection); // 批量更新 - event(new BatchStockUpdateEvent($updateIds)); + event(new BatchStockUpdateEvent(collect($updateIds)->unique()->toArray())); } diff --git a/app/Imports/PurchaseImport.php b/app/Imports/PurchaseImport.php index 24b20e4..3df39e2 100644 --- a/app/Imports/PurchaseImport.php +++ b/app/Imports/PurchaseImport.php @@ -68,7 +68,10 @@ class PurchaseImport implements ToArray, SkipsEmptyRows $purchaseRecords->batch_number = $batch_number; $purchaseRecords->num = $row[2]; $purchaseRecords->cost = $row[3]; - $purchaseRecords->date = DateTimeUtils::validateDate($row[6] ?? '') ? $row[6] : $today;; + $purchaseRecords->date = $today; + if(!empty($row[6])){ + $purchaseRecords->date = DateTimeUtils::excelUploadDateToString($row[6],$today); + } $purchaseRecords->buyer_user_id = $buyerUserIdKeyByNameMap[$row[4]] ?? 0; $purchaseRecords->buyer_name = $row[4] ?? ''; $purchaseRecords->supplier_name = $row[5] ?? ''; @@ -76,11 +79,11 @@ class PurchaseImport implements ToArray, SkipsEmptyRows $purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString(); $purchaseRecords->save(); - $updateIds = GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => $row[2], 'cost' => $row[3]]); + $updateIds += GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => $row[2], 'cost' => $row[3]]); } Log::info("采购导入内容:", $collection); // 批量更新 - event(new BatchStockUpdateEvent($updateIds)); + event(new BatchStockUpdateEvent(collect($updateIds)->unique()->toArray())); } } } diff --git a/app/Utils/DateTimeUtils.php b/app/Utils/DateTimeUtils.php index 0de5afa..0ac1181 100644 --- a/app/Utils/DateTimeUtils.php +++ b/app/Utils/DateTimeUtils.php @@ -2,6 +2,8 @@ namespace App\Utils; +use Illuminate\Support\Facades\Log; + class DateTimeUtils { /** @@ -44,8 +46,21 @@ class DateTimeUtils } - public static function validateDate($date, $format = 'Y-m-d') { + public static function validateDate($date, $format = 'Y-m-d') + { $d = \DateTime::createFromFormat($format, $date); return $d && $d->format($format) === $date; } + + public static function excelUploadDateToString($excelData, $defaultTime) + { + try { + return date("Y-m-d", ($excelData - 25569) * 24 * 3600); + } catch (\Exception $exception) { + Log::error("时间转化出错", $exception->getMessage()); + } + return $defaultTime; + + } + }