|
@@ -54,13 +54,10 @@ Class StoreService
|
|
|
$last_time = $asnHerders->first()['addtime'];
|
|
$last_time = $asnHerders->first()['addtime'];
|
|
|
$last_records = $asnHerders->where('addtime', $last_time);
|
|
$last_records = $asnHerders->where('addtime', $last_time);
|
|
|
if (!$asnHerders) return;
|
|
if (!$asnHerders) return;
|
|
|
-// $addAsnHerders = $this->getLastRecordsByRedis($create_set, $create_key, $asnHerders);
|
|
|
|
|
-// if (count($addAsnHerders) > 0) {
|
|
|
|
|
- $this->createStore($asnHerders);
|
|
|
|
|
- $this->deleteCacheKey($create_set, $create_keys);
|
|
|
|
|
- $this->setLastRecordsByRedis($create_key, $create_set, $create_keys, $last_records);
|
|
|
|
|
- $this->setAsnLastSyncAt($created_at, $last_time);
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ $this->createStore($asnHerders);
|
|
|
|
|
+ $this->deleteCacheKey($create_set, $create_keys);
|
|
|
|
|
+ $this->setLastRecordsByRedis($create_key, $create_set, $create_keys, $last_records);
|
|
|
|
|
+ $this->setAsnLastSyncAt($created_at, $last_time);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function storeUpdateByWms()
|
|
public function storeUpdateByWms()
|
|
@@ -77,14 +74,11 @@ Class StoreService
|
|
|
$last_time = $asnHerders->first()['edittime'];
|
|
$last_time = $asnHerders->first()['edittime'];
|
|
|
$last_records = $asnHerders->where('edittime', $last_time);
|
|
$last_records = $asnHerders->where('edittime', $last_time);
|
|
|
if (!$asnHerders) return;
|
|
if (!$asnHerders) return;
|
|
|
-// $addAsnHerders = $this->getLastRecordsByRedis($update_set, $update_key, $asnHerders);
|
|
|
|
|
-// if (count($addAsnHerders) > 0) {
|
|
|
|
|
- $this->createStore($asnHerders);
|
|
|
|
|
- $this->updateStore($asnHerders);
|
|
|
|
|
- $this->deleteCacheKey($update_set, $update_keys);
|
|
|
|
|
- $this->setLastRecordsByRedis($update_key, $update_set, $update_keys, $last_records);
|
|
|
|
|
- $this->setAsnLastSyncAt($updated_at, $last_time);
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ $this->createStore($asnHerders);
|
|
|
|
|
+ $this->updateStore($asnHerders);
|
|
|
|
|
+ $this->deleteCacheKey($update_set, $update_keys);
|
|
|
|
|
+ $this->setLastRecordsByRedis($update_key, $update_set, $update_keys, $last_records);
|
|
|
|
|
+ $this->setAsnLastSyncAt($updated_at, $last_time);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function createStore($asnHerders)
|
|
public function createStore($asnHerders)
|
|
@@ -137,9 +131,9 @@ Class StoreService
|
|
|
if ($store_asn_code_map[$asnHerder->asnno] ?? false) continue;
|
|
if ($store_asn_code_map[$asnHerder->asnno] ?? false) continue;
|
|
|
$owner = $owners_code_map[$asnHerder->customerid] ?? null;
|
|
$owner = $owners_code_map[$asnHerder->customerid] ?? null;
|
|
|
$warehouse = $warehouses_code_map[$asnHerder->warehouseid] ?? null;
|
|
$warehouse = $warehouses_code_map[$asnHerder->warehouseid] ?? null;
|
|
|
- $status=null;
|
|
|
|
|
- if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c=='完全收货') $status='已入库';
|
|
|
|
|
- if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c=='订单创建') $status='未入库';
|
|
|
|
|
|
|
+ $status = null;
|
|
|
|
|
+ if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
|
|
|
|
|
+ if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
|
|
|
$params[] = [
|
|
$params[] = [
|
|
|
'asn_code' => $asnHerder->asnno,
|
|
'asn_code' => $asnHerder->asnno,
|
|
|
'warehouse_id' => $warehouse->id ?? null,
|
|
'warehouse_id' => $warehouse->id ?? null,
|
|
@@ -193,21 +187,21 @@ Class StoreService
|
|
|
$updateParams = [[
|
|
$updateParams = [[
|
|
|
'id', 'asn_code', 'warehouse_id', 'owner_id', 'stored_method', 'status', 'remark', 'updated_at'
|
|
'id', 'asn_code', 'warehouse_id', 'owner_id', 'stored_method', 'status', 'remark', 'updated_at'
|
|
|
]];
|
|
]];
|
|
|
- $KSRK=[];
|
|
|
|
|
|
|
+// $KSRK = [];
|
|
|
foreach ($asnHerders as $asnHerder) {
|
|
foreach ($asnHerders as $asnHerder) {
|
|
|
$store = $dataHandlerService->getKeyValue(['asn_code' => $asnHerder->asnno], $store_asn_code_map);
|
|
$store = $dataHandlerService->getKeyValue(['asn_code' => $asnHerder->asnno], $store_asn_code_map);
|
|
|
if (!$store) continue;
|
|
if (!$store) continue;
|
|
|
- if ($store&&$store->stored_method=='快速入库'){
|
|
|
|
|
- array_push($KSRK,$store['asn_code']);
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// if ($store && $store->stored_method == '快速入库') {
|
|
|
|
|
+// array_push($KSRK, $store['asn_code']);
|
|
|
|
|
+// continue;
|
|
|
|
|
+// }
|
|
|
$owner = $dataHandlerService->getKeyValue(['code' => $asnHerder->customerid], $owner_code_map);
|
|
$owner = $dataHandlerService->getKeyValue(['code' => $asnHerder->customerid], $owner_code_map);
|
|
|
$warehouse = $dataHandlerService->getKeyValue(['code' => $asnHerder->warehouseid], $warehouses_map);
|
|
$warehouse = $dataHandlerService->getKeyValue(['code' => $asnHerder->warehouseid], $warehouses_map);
|
|
|
$owner_id = $owner->id ?? null;
|
|
$owner_id = $owner->id ?? null;
|
|
|
$warehouse_id = $warehouse->id ?? null;
|
|
$warehouse_id = $warehouse->id ?? null;
|
|
|
- $status=null;
|
|
|
|
|
- if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c=='完全收货') $status='已入库';
|
|
|
|
|
- if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c=='订单创建') $status='未入库';
|
|
|
|
|
|
|
+ $status = null;
|
|
|
|
|
+ if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
|
|
|
|
|
+ if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
|
|
|
if ($store->asn_code != $asnHerder->asnno ||
|
|
if ($store->asn_code != $asnHerder->asnno ||
|
|
|
$store->warehouse_id != $warehouse_id ||
|
|
$store->warehouse_id != $warehouse_id ||
|
|
|
$store->owner_id != $owner_id ||
|
|
$store->owner_id != $owner_id ||
|
|
@@ -229,7 +223,7 @@ Class StoreService
|
|
|
if (count($updateParams) > 1) $this->batchUpdate($updateParams);
|
|
if (count($updateParams) > 1) $this->batchUpdate($updateParams);
|
|
|
/** @var StoreItemService $storeItemService */
|
|
/** @var StoreItemService $storeItemService */
|
|
|
$storeItemService = app(StoreItemService::class);
|
|
$storeItemService = app(StoreItemService::class);
|
|
|
- $storeItemService->storeItemUpdateByWms($asnHerders,$KSRK);
|
|
|
|
|
|
|
+ $storeItemService->storeItemUpdateByWms($asnHerders);
|
|
|
/** @var RejectedBillService $rejectedBillService */
|
|
/** @var RejectedBillService $rejectedBillService */
|
|
|
$rejectedBillService = app(RejectedBillService::class);
|
|
$rejectedBillService = app(RejectedBillService::class);
|
|
|
$rejectedBillService->syncLoadedStatusByAsnHerder($asnHerders);
|
|
$rejectedBillService->syncLoadedStatusByAsnHerder($asnHerders);
|
|
@@ -281,19 +275,6 @@ Class StoreService
|
|
|
return $asnLastSyncAt;
|
|
return $asnLastSyncAt;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// public function getLastRecordsByRedis($set, $prefixKey, $asnHerders)
|
|
|
|
|
-// {
|
|
|
|
|
-// if (Cache::get($set)) {
|
|
|
|
|
-// $addAsnHerders = collect();
|
|
|
|
|
-// foreach ($asnHerders as $asnHerder) {
|
|
|
|
|
-// if (Cache::get($prefixKey . $asnHerder->customerid . '_' . $asnHerder->asnno)) continue;
|
|
|
|
|
-// $addAsnHerders->add($asnHerder);
|
|
|
|
|
-// }
|
|
|
|
|
-// return $addAsnHerders;
|
|
|
|
|
-// }
|
|
|
|
|
-// return $asnHerders;
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
public function deleteCacheKey($set, $keys)
|
|
public function deleteCacheKey($set, $keys)
|
|
|
{
|
|
{
|
|
|
if (Cache::get($set)) {
|
|
if (Cache::get($set)) {
|
|
@@ -308,40 +289,40 @@ Class StoreService
|
|
|
|
|
|
|
|
public function setLastRecordsByRedis($prefixKey, $set, $keys, $last_records)
|
|
public function setLastRecordsByRedis($prefixKey, $set, $keys, $last_records)
|
|
|
{
|
|
{
|
|
|
- $cacheKeys = [];
|
|
|
|
|
- foreach ($last_records as $last_record) {
|
|
|
|
|
- Cache::put($prefixKey . $last_record->customerid . '_' . $last_record->asnno, true);
|
|
|
|
|
- array_push($cacheKeys, $prefixKey . $last_record->customerid . '_' . $last_record->asnno);
|
|
|
|
|
- }
|
|
|
|
|
- Cache::put($keys, $cacheKeys);
|
|
|
|
|
- Cache::put($set, true);
|
|
|
|
|
|
|
+ $cacheKeys = [];
|
|
|
|
|
+ foreach ($last_records as $last_record) {
|
|
|
|
|
+ Cache::put($prefixKey . $last_record->customerid . '_' . $last_record->asnno, true);
|
|
|
|
|
+ array_push($cacheKeys, $prefixKey . $last_record->customerid . '_' . $last_record->asnno);
|
|
|
|
|
+ }
|
|
|
|
|
+ Cache::put($keys, $cacheKeys);
|
|
|
|
|
+ Cache::put($set, true);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function createInstantBill(Store $store):bool
|
|
|
|
|
|
|
+ public function createInstantBill(Store $store): bool
|
|
|
{
|
|
{
|
|
|
- if (!$store || $store->status!="已入库")return false;
|
|
|
|
|
- if (!$store->storeItems)$store->load("storeItems");
|
|
|
|
|
|
|
+ if (!$store || $store->status != "已入库") return false;
|
|
|
|
|
+ if (!$store->storeItems) $store->load("storeItems");
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @var OwnerPriceOperationService $service */
|
|
/** @var OwnerPriceOperationService $service */
|
|
|
$service = app("OwnerPriceOperationService");
|
|
$service = app("OwnerPriceOperationService");
|
|
|
|
|
|
|
|
- $mapping = ["packages"=>"storeItems","商品名称"=>"name","订单类型"=>"stored_method"];
|
|
|
|
|
|
|
+ $mapping = ["packages" => "storeItems", "商品名称" => "name", "订单类型" => "stored_method"];
|
|
|
|
|
|
|
|
- $work_fee = $service->matchRule($store,$mapping,$store->owner_id,"入库");
|
|
|
|
|
- if ($work_fee < 0)$work_fee = null;
|
|
|
|
|
|
|
+ $work_fee = $service->matchRule($store, $mapping, $store->owner_id, "入库");
|
|
|
|
|
+ if ($work_fee < 0) $work_fee = null;
|
|
|
|
|
|
|
|
if (app("OwnerFeeDetailService")->create([
|
|
if (app("OwnerFeeDetailService")->create([
|
|
|
- "owner_id" => $store->owner_id,
|
|
|
|
|
- "worked_at" => $store->created_at,
|
|
|
|
|
- "type" => "收货",
|
|
|
|
|
- "operation_bill" => $store->asn_code,
|
|
|
|
|
- "commodity_amount" => array_sum(array_column($store->storeItems->toArray(),"amount")),
|
|
|
|
|
- "work_fee" => $work_fee,
|
|
|
|
|
- "created_at" => date('Y-m-d H:i:s'),
|
|
|
|
|
- "outer_id" => $store->id,
|
|
|
|
|
- "outer_table_name" => "stores",
|
|
|
|
|
- ]))return true;
|
|
|
|
|
|
|
+ "owner_id" => $store->owner_id,
|
|
|
|
|
+ "worked_at" => $store->created_at,
|
|
|
|
|
+ "type" => "收货",
|
|
|
|
|
+ "operation_bill" => $store->asn_code,
|
|
|
|
|
+ "commodity_amount" => array_sum(array_column($store->storeItems->toArray(), "amount")),
|
|
|
|
|
+ "work_fee" => $work_fee,
|
|
|
|
|
+ "created_at" => date('Y-m-d H:i:s'),
|
|
|
|
|
+ "outer_id" => $store->id,
|
|
|
|
|
+ "outer_table_name" => "stores",
|
|
|
|
|
+ ])) return true;
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|