|
|
@@ -18,27 +18,25 @@ Class StoreItemService
|
|
|
public function storeItemCreateByWms($asnHerders)
|
|
|
{
|
|
|
if ($asnHerders->isEmpty())return null;
|
|
|
- $asnDetails=collect();
|
|
|
- $asnHerders->each(function ($asnHeader)use($asnDetails){
|
|
|
- $asnHeader->asnDetails->each(function ($asnDetail)use($asnDetails){
|
|
|
- $asnDetails->add($asnDetail);
|
|
|
- });
|
|
|
- });
|
|
|
+ $asnDetails=$this->getAsnDetailsByAsnHerder($asnHerders);
|
|
|
$this->createStoreItem($asnDetails);
|
|
|
}
|
|
|
|
|
|
public function storeItemUpdateByWms($asnHerders)
|
|
|
{
|
|
|
if ($asnHerders->isEmpty())return null;
|
|
|
+ $asnDetails=$this->getAsnDetailsByAsnHerder($asnHerders);
|
|
|
+ $this->updateStoreItem($asnDetails);
|
|
|
+ }
|
|
|
+ public function getAsnDetailsByAsnHerder($asnHerders){
|
|
|
$asnDetails=collect();
|
|
|
$asnHerders->each(function ($asnHeader)use($asnDetails){
|
|
|
$asnHeader->asnDetails->each(function ($asnDetail)use($asnDetails){
|
|
|
$asnDetails->add($asnDetail);
|
|
|
});
|
|
|
});
|
|
|
- $this->updateStoreItem($asnDetails);
|
|
|
+ return $asnDetails;
|
|
|
}
|
|
|
-
|
|
|
public function createStoreItem($asnDetails)
|
|
|
{
|
|
|
if ($asnDetails->isEmpty())return null;
|
|
|
@@ -51,7 +49,6 @@ Class StoreItemService
|
|
|
if(count($params)> 0){
|
|
|
$this->insertStore($params);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
public function getParamsByAsnDetails($asnDetails,$store_asn_code_map)
|
|
|
{
|
|
|
@@ -90,64 +87,6 @@ Class StoreItemService
|
|
|
return StoreItems::query()->whereIn('id',data_get($params,'*.id'))->get();
|
|
|
}
|
|
|
}
|
|
|
-// public function updateStoreItem($asnDetails)
|
|
|
-// {
|
|
|
-// if(!$asnDetails || $asnDetails->count() == 0){return null;}
|
|
|
-// /** @var DataHandlerService $dataHandlerService */
|
|
|
-// $dataHandlerService = app(DataHandlerService::class);
|
|
|
-// $storeItems=$this->getByWms($asnDetails);
|
|
|
-// $storeItems_map = $dataHandlerService->dataHeader(['store_asn_code','asn_line_code','sku'],$storeItems);
|
|
|
-// /** @var StoreService $storeService */
|
|
|
-// $storeService=app(StoreService::class);
|
|
|
-// $stores=$storeService->getByWms($asnDetails);
|
|
|
-// $stores_map = $dataHandlerService->dataHeader(['asn_code'],$stores);
|
|
|
-// $updateParams = [[
|
|
|
-// 'id','store_id','asn_line_code','name','sku','barcode','amount','quality','status','created_at','updated_at'
|
|
|
-// ]];
|
|
|
-// $updated_at=Carbon::now()->toDateTimeString();
|
|
|
-// $delete_storeItems=[];
|
|
|
-// foreach ($asnDetails as $asnDetail) {
|
|
|
-// $store =$dataHandlerService->getKeyValue(['asn_code'=>$asnDetail->asnno],$stores_map);
|
|
|
-// $storeItem =$dataHandlerService
|
|
|
-// ->getKeyValue(['store_asn_code'=>$asnDetail->asnno,'asn_line_code'=>$asnDetail->asnlineno,'sku'=>$asnDetail->sku],$storeItems_map);
|
|
|
-// if(!$storeItem){
|
|
|
-// array_push($delete_storeItems,$asnDetail);
|
|
|
-// continue;
|
|
|
-// }
|
|
|
-// if( $storeItem->store_id != $store->id ||
|
|
|
-// $storeItem->asn_line_code!=$asnDetail->asnlineno ||
|
|
|
-// $storeItem->name != $asnDetail->skudescrc ||
|
|
|
-// $storeItem->sku != $asnDetail->sku||
|
|
|
-// $storeItem->barcode !=$asnDetail->basSku->alternate_sku1||
|
|
|
-// $storeItem->amount !=$asnDetail->expectedqty||
|
|
|
-// $storeItem->quality !=$asnDetail->qualityStatus??$asnDetail->qualityStatus->codename_c||
|
|
|
-// $storeItem->status !=$asnDetail->lineStatus??$asnDetail->lineStatus->codename_c||
|
|
|
-// $storeItem->created_at !=$asnDetail->addtime||
|
|
|
-// $storeItem->updated_at != $asnDetail->edittime){
|
|
|
-// $updateParams[] = [
|
|
|
-// 'id'=>$storeItem->id,
|
|
|
-// 'store_id'=>$store->id,
|
|
|
-// 'asn_line_code' => $asnDetail->asnlineno,
|
|
|
-// 'name' =>$asnDetail->skudescrc,
|
|
|
-// 'sku' =>$asnDetail->sku,
|
|
|
-// 'barcode' =>$asnDetail->basSku?$asnDetail->basSku->alternate_sku1:'',
|
|
|
-// 'amount' =>$asnDetail->expectedqty??0,
|
|
|
-// 'quality' =>$asnDetail->qualityStatus?$asnDetail->qualityStatus->codename_c:'',
|
|
|
-// 'status' => $asnDetail->lineStatus?$asnDetail->lineStatus->codename_c:'',
|
|
|
-// 'created_at'=>$asnDetail->addtime??null,
|
|
|
-// 'updated_at'=>$updated_at,
|
|
|
-// ];
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if(count($updateParams) > 1){
|
|
|
-// $this->batchUpdate($updateParams);
|
|
|
-// }
|
|
|
-//
|
|
|
-// if (count($asnDetails)<count($storeItems)){
|
|
|
-// dd($delete_storeItems);
|
|
|
-// }
|
|
|
-// unset($updateParams,$asnDetails);
|
|
|
-// }
|
|
|
public function updateStoreItem($asnDetails)
|
|
|
{
|
|
|
if(!$asnDetails || $asnDetails->count() == 0){return null;}
|
|
|
@@ -207,6 +146,7 @@ Class StoreItemService
|
|
|
$query->whereIn('asn_code',array_unique(data_get($asnDetails,'*.asnno')));
|
|
|
})->get();
|
|
|
}
|
|
|
+
|
|
|
public function deleteStoreItem(array $delete_storeItems){
|
|
|
$storeItemIds=[];
|
|
|
foreach ($delete_storeItems as $delete_storeItem){
|
|
|
@@ -219,4 +159,62 @@ Class StoreItemService
|
|
|
LogService::log(__METHOD__,__FUNCTION__,'删除多余StoreItems error'.count($delete_storeItems).json_encode($delete_storeItems).$e->getMessage().$e->getTraceAsString(),null);
|
|
|
}
|
|
|
}
|
|
|
+ // public function updateStoreItem($asnDetails)
|
|
|
+// {
|
|
|
+// if(!$asnDetails || $asnDetails->count() == 0){return null;}
|
|
|
+// /** @var DataHandlerService $dataHandlerService */
|
|
|
+// $dataHandlerService = app(DataHandlerService::class);
|
|
|
+// $storeItems=$this->getByWms($asnDetails);
|
|
|
+// $storeItems_map = $dataHandlerService->dataHeader(['store_asn_code','asn_line_code','sku'],$storeItems);
|
|
|
+// /** @var StoreService $storeService */
|
|
|
+// $storeService=app(StoreService::class);
|
|
|
+// $stores=$storeService->getByWms($asnDetails);
|
|
|
+// $stores_map = $dataHandlerService->dataHeader(['asn_code'],$stores);
|
|
|
+// $updateParams = [[
|
|
|
+// 'id','store_id','asn_line_code','name','sku','barcode','amount','quality','status','created_at','updated_at'
|
|
|
+// ]];
|
|
|
+// $updated_at=Carbon::now()->toDateTimeString();
|
|
|
+// $delete_storeItems=[];
|
|
|
+// foreach ($asnDetails as $asnDetail) {
|
|
|
+// $store =$dataHandlerService->getKeyValue(['asn_code'=>$asnDetail->asnno],$stores_map);
|
|
|
+// $storeItem =$dataHandlerService
|
|
|
+// ->getKeyValue(['store_asn_code'=>$asnDetail->asnno,'asn_line_code'=>$asnDetail->asnlineno,'sku'=>$asnDetail->sku],$storeItems_map);
|
|
|
+// if(!$storeItem){
|
|
|
+// array_push($delete_storeItems,$asnDetail);
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// if( $storeItem->store_id != $store->id ||
|
|
|
+// $storeItem->asn_line_code!=$asnDetail->asnlineno ||
|
|
|
+// $storeItem->name != $asnDetail->skudescrc ||
|
|
|
+// $storeItem->sku != $asnDetail->sku||
|
|
|
+// $storeItem->barcode !=$asnDetail->basSku->alternate_sku1||
|
|
|
+// $storeItem->amount !=$asnDetail->expectedqty||
|
|
|
+// $storeItem->quality !=$asnDetail->qualityStatus??$asnDetail->qualityStatus->codename_c||
|
|
|
+// $storeItem->status !=$asnDetail->lineStatus??$asnDetail->lineStatus->codename_c||
|
|
|
+// $storeItem->created_at !=$asnDetail->addtime||
|
|
|
+// $storeItem->updated_at != $asnDetail->edittime){
|
|
|
+// $updateParams[] = [
|
|
|
+// 'id'=>$storeItem->id,
|
|
|
+// 'store_id'=>$store->id,
|
|
|
+// 'asn_line_code' => $asnDetail->asnlineno,
|
|
|
+// 'name' =>$asnDetail->skudescrc,
|
|
|
+// 'sku' =>$asnDetail->sku,
|
|
|
+// 'barcode' =>$asnDetail->basSku?$asnDetail->basSku->alternate_sku1:'',
|
|
|
+// 'amount' =>$asnDetail->expectedqty??0,
|
|
|
+// 'quality' =>$asnDetail->qualityStatus?$asnDetail->qualityStatus->codename_c:'',
|
|
|
+// 'status' => $asnDetail->lineStatus?$asnDetail->lineStatus->codename_c:'',
|
|
|
+// 'created_at'=>$asnDetail->addtime??null,
|
|
|
+// 'updated_at'=>$updated_at,
|
|
|
+// ];
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if(count($updateParams) > 1){
|
|
|
+// $this->batchUpdate($updateParams);
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (count($asnDetails)<count($storeItems)){
|
|
|
+// dd($delete_storeItems);
|
|
|
+// }
|
|
|
+// unset($updateParams,$asnDetails);
|
|
|
+// }
|
|
|
}
|