|
|
@@ -8,9 +8,6 @@ use App\Services\common\BatchUpdateService;
|
|
|
use App\Services\common\DataHandlerService;
|
|
|
use App\Store;
|
|
|
use App\StoreItems;
|
|
|
-use Carbon\Carbon;
|
|
|
-use Doctrine\DBAL\Query\QueryBuilder;
|
|
|
-use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
Class StoreItemService
|
|
|
{
|
|
|
@@ -69,10 +66,9 @@ Class StoreItemService
|
|
|
// });
|
|
|
return $asnDetails;
|
|
|
}
|
|
|
- //TODO
|
|
|
+
|
|
|
public function createStoreItem($asnDetails)
|
|
|
{
|
|
|
-
|
|
|
if ($asnDetails->isEmpty()) return null;
|
|
|
ini_set('memory_limit', '512M');
|
|
|
$stores = Store::query()->whereIn('asn_code', array_unique(data_get($asnDetails, '*.asnno')))->get();
|
|
|
@@ -129,7 +125,7 @@ Class StoreItemService
|
|
|
'name' => $asnDetail->skudescrc,
|
|
|
'sku' => $asnDetail->sku,
|
|
|
'amount' => $asnDetail->receivedqty ?? 0,
|
|
|
- 'quality' => $asnDetail->qualityStatus ?$asnDetail->qualityStatus->codename_c :' ',
|
|
|
+ 'quality' => $asnDetail->qualityStatus ? $asnDetail->qualityStatus->codename_c :'',
|
|
|
'status' => $status ? $status : $asnDetail->lineStatus->codename_c,
|
|
|
'created_at' => $asnDetail->addtime ?? null,
|
|
|
'updated_at' => $asnDetail->edittime ?? null,
|
|
|
@@ -152,12 +148,10 @@ Class StoreItemService
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //TODO
|
|
|
+
|
|
|
public function updateStoreItem($asnDetails)
|
|
|
{
|
|
|
- if (!$asnDetails || $asnDetails->count() == 0) {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ if (!$asnDetails || $asnDetails->count() == 0) return null;
|
|
|
/**
|
|
|
* @var DataHandlerService $dataHandlerService
|
|
|
* @var CommodityService $commodityService
|
|
|
@@ -186,7 +180,7 @@ Class StoreItemService
|
|
|
]];
|
|
|
$delete_storeItems = [];
|
|
|
foreach ($storeItems as $storeItem) {
|
|
|
- $commodity=$dataHandlerService->getKeyValue(['id'=>$storeItem->commodity_id],$commodities_map);if (!$commodity)continue;
|
|
|
+ $commodity= $dataHandlerService->getKeyValue(['id'=>$storeItem->commodity_id],$commodities_map);if (!$commodity) continue;
|
|
|
$asnDetail = $dataHandlerService
|
|
|
->getKeyValue(['asnno' => $storeItem->store_asn_code, 'asnlineno' => $storeItem->asn_line_code,'customerid'=>$owner_map[$commodity->owner_id],'sku' => $commodity->sku], $asnDetails_map);
|
|
|
if (!$asnDetail) {
|
|
|
@@ -196,7 +190,10 @@ Class StoreItemService
|
|
|
$status = null;
|
|
|
if ($asnDetail->lineStatus && $asnDetail->lineStatus->codename_c == '完全收货') $status = '已入库';
|
|
|
if ($asnDetail->lineStatus && $asnDetail->lineStatus->codename_c == '订单创建') $status = '未入库';
|
|
|
- if ($storeItem->updated_at != $asnDetail->edittime) {
|
|
|
+ if ($storeItem->updated_at != $asnDetail->edittime ||
|
|
|
+ $storeItem->status !=$asnDetail->lineStatus->codename_c||
|
|
|
+ $storeItem->quality !=$asnDetail->qualityStatus->codename_c
|
|
|
+ ) {
|
|
|
$updateParams[] = [
|
|
|
'id' => $storeItem->id,
|
|
|
'store_id' => $storeItem->store->id,
|
|
|
@@ -204,7 +201,7 @@ Class StoreItemService
|
|
|
'name' => $asnDetail->skudescrc,
|
|
|
'sku' => $asnDetail->sku,
|
|
|
'amount' => $asnDetail->receivedqty ?? 0,
|
|
|
- 'quality' => $asnDetail->qualityStatus ?$asnDetail->qualityStatus->codename_c :' ',
|
|
|
+ 'quality' => $asnDetail->qualityStatus ? $asnDetail->qualityStatus->codename_c :'',
|
|
|
'status' => $status ? $status : $asnDetail->lineStatus->codename_c,
|
|
|
'created_at' => $asnDetail->addtime ?? null,
|
|
|
'updated_at' => $asnDetail->edittime ?? null,
|