|
@@ -27,17 +27,19 @@ use Illuminate\Support\Facades\Log;
|
|
|
class StoreService
|
|
class StoreService
|
|
|
{
|
|
{
|
|
|
use ServiceAppAop;
|
|
use ServiceAppAop;
|
|
|
- protected $modelClass=Store::class;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ protected $modelClass = Store::class;
|
|
|
|
|
+
|
|
|
private function conditionQuery(array $params)
|
|
private function conditionQuery(array $params)
|
|
|
{
|
|
{
|
|
|
$stores = Store::query()->with(['storeItems.store', 'warehouse', 'owner'])->where('is_fast_stored', '无')->orderBy('id', 'DESC');
|
|
$stores = Store::query()->with(['storeItems.store', 'warehouse', 'owner'])->where('is_fast_stored', '无')->orderBy('id', 'DESC');
|
|
|
$columnQueryRules = [
|
|
$columnQueryRules = [
|
|
|
'asn_code' => ['batch' => ''],
|
|
'asn_code' => ['batch' => ''],
|
|
|
- 'remark' => ['batch' => '','timeLimit' => 15],
|
|
|
|
|
|
|
+ 'remark' => ['batch' => '', 'timeLimit' => 15],
|
|
|
'created_at_start' => ['alias' => 'created_at', 'startDate' => ' 00:00:00'],
|
|
'created_at_start' => ['alias' => 'created_at', 'startDate' => ' 00:00:00'],
|
|
|
'created_at_end' => ['alias' => 'created_at', 'endDate' => ' 23:59:59'],
|
|
'created_at_end' => ['alias' => 'created_at', 'endDate' => ' 23:59:59'],
|
|
|
- 'owner' => ['alias' => 'owner_id','multi' => ','],
|
|
|
|
|
- 'warehouse' => ['alias' => 'warehouse_id','multi' => ','],
|
|
|
|
|
|
|
+ 'owner' => ['alias' => 'owner_id', 'multi' => ','],
|
|
|
|
|
+ 'warehouse' => ['alias' => 'warehouse_id', 'multi' => ','],
|
|
|
'status' => ['multi' => ','],
|
|
'status' => ['multi' => ','],
|
|
|
'stored_method' => ['multi' => ','],
|
|
'stored_method' => ['multi' => ','],
|
|
|
'id' => ['multi' => ',']
|
|
'id' => ['multi' => ',']
|
|
@@ -67,15 +69,15 @@ class StoreService
|
|
|
$oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
$oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
|
$last_time = $this->getAsnLastSyncAt($created_at, 'create');
|
|
$last_time = $this->getAsnLastSyncAt($created_at, 'create');
|
|
|
$asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate($last_time);
|
|
$asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate($last_time);
|
|
|
- if (count($asnHerders)<1) return;
|
|
|
|
|
|
|
+ if (count($asnHerders) < 1) return;
|
|
|
try {
|
|
try {
|
|
|
- $arr=[];
|
|
|
|
|
- foreach ($asnHerders as $asnHerder){
|
|
|
|
|
- array_push($arr,$asnHerder->asnno);
|
|
|
|
|
|
|
+ $arr = [];
|
|
|
|
|
+ foreach ($asnHerders as $asnHerder) {
|
|
|
|
|
+ array_push($arr, $asnHerder->asnno);
|
|
|
}
|
|
}
|
|
|
RejectedPushJob::dispatch($arr);
|
|
RejectedPushJob::dispatch($arr);
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- Log::error("退货推送asn集合失败",[$e->getMessage()]);
|
|
|
|
|
|
|
+ Log::error("退货推送asn集合失败", [$e->getMessage()]);
|
|
|
}
|
|
}
|
|
|
$last_time = $asnHerders->first()['addtime'];
|
|
$last_time = $asnHerders->first()['addtime'];
|
|
|
$last_records = $asnHerders->where('addtime', $last_time);
|
|
$last_records = $asnHerders->where('addtime', $last_time);
|
|
@@ -97,21 +99,22 @@ class StoreService
|
|
|
$oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
$oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
|
$last_time = $this->getAsnLastSyncAt($updated_at, 'update');
|
|
$last_time = $this->getAsnLastSyncAt($updated_at, 'update');
|
|
|
app('LogService')
|
|
app('LogService')
|
|
|
- ->log(__METHOD__, __FUNCTION__, '11 获取上次更新时间:' . $last_time );
|
|
|
|
|
|
|
+ ->log(__METHOD__, __FUNCTION__, '11 获取上次更新时间:' . $last_time);
|
|
|
$asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit($last_time);
|
|
$asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit($last_time);
|
|
|
- if (count($asnHerders)<1) return;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (count($asnHerders) < 1) return;
|
|
|
try {
|
|
try {
|
|
|
- $arr=[];
|
|
|
|
|
- foreach ($asnHerders as $asnHerder){
|
|
|
|
|
- array_push($arr,$asnHerder->asnno);
|
|
|
|
|
|
|
+ $arr = [];
|
|
|
|
|
+ foreach ($asnHerders as $asnHerder) {
|
|
|
|
|
+ array_push($arr, $asnHerder->asnno);
|
|
|
}
|
|
}
|
|
|
RejectedPushJob::dispatch($arr);
|
|
RejectedPushJob::dispatch($arr);
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- Log::error("退货推送asn集合失败",[$e->getMessage()]);
|
|
|
|
|
|
|
+ Log::error("退货推送asn集合失败", [$e->getMessage()]);
|
|
|
}
|
|
}
|
|
|
$last_time = $asnHerders->first()['edittime'];
|
|
$last_time = $asnHerders->first()['edittime'];
|
|
|
$last_records = $asnHerders->where('edittime', $last_time);
|
|
$last_records = $asnHerders->where('edittime', $last_time);
|
|
|
- $this->createStore($asnHerders,"update");
|
|
|
|
|
|
|
+ $this->createStore($asnHerders,'update');
|
|
|
$this->updateStore($asnHerders);
|
|
$this->updateStore($asnHerders);
|
|
|
$this->createStoreRejected($asnHerders);
|
|
$this->createStoreRejected($asnHerders);
|
|
|
$this->deleteCacheKey($update_set, $update_keys);
|
|
$this->deleteCacheKey($update_set, $update_keys);
|
|
@@ -120,7 +123,7 @@ class StoreService
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function createStore($asnHerders,$isUpdate=null)
|
|
|
|
|
|
|
+ public function createStore($asnHerders, $isUpdate = null)
|
|
|
{
|
|
{
|
|
|
if (!$asnHerders) return null;
|
|
if (!$asnHerders) return null;
|
|
|
/** @var OwnerService $ownerService */
|
|
/** @var OwnerService $ownerService */
|
|
@@ -135,11 +138,11 @@ class StoreService
|
|
|
}
|
|
}
|
|
|
$owners = $ownerService->getOwnerByCodes($owner_codes);
|
|
$owners = $ownerService->getOwnerByCodes($owner_codes);
|
|
|
$warehouses = Warehouse::query()->get();
|
|
$warehouses = Warehouse::query()->get();
|
|
|
- $owners_code_map=[];
|
|
|
|
|
|
|
+ $owners_code_map = [];
|
|
|
foreach ($owners as $owner) {
|
|
foreach ($owners as $owner) {
|
|
|
$owners_code_map[$owner->code] = $owner;
|
|
$owners_code_map[$owner->code] = $owner;
|
|
|
}
|
|
}
|
|
|
- $warehouses_code_map=[];
|
|
|
|
|
|
|
+ $warehouses_code_map = [];
|
|
|
foreach ($warehouses as $warehouse) {
|
|
foreach ($warehouses as $warehouse) {
|
|
|
$warehouses_code_map[$warehouse->code] = $warehouse;
|
|
$warehouses_code_map[$warehouse->code] = $warehouse;
|
|
|
}
|
|
}
|
|
@@ -151,7 +154,7 @@ class StoreService
|
|
|
/** @var RejectedBillService $rejectedBillService */
|
|
/** @var RejectedBillService $rejectedBillService */
|
|
|
$rejectedBillService = app(RejectedBillService::class);
|
|
$rejectedBillService = app(RejectedBillService::class);
|
|
|
$rejectedBillService->syncLoadedStatusByAsnHerder($asnHerders);
|
|
$rejectedBillService->syncLoadedStatusByAsnHerder($asnHerders);
|
|
|
- if (!$isUpdate)$this->pushJob($asnHerders);
|
|
|
|
|
|
|
+ if (!$isUpdate) $this->pushJob($asnHerders);
|
|
|
if (!$isUpdate) unset($asnHerders);
|
|
if (!$isUpdate) unset($asnHerders);
|
|
|
unset($owners_code_map, $warehouses_code_map);
|
|
unset($owners_code_map, $warehouses_code_map);
|
|
|
}
|
|
}
|
|
@@ -169,8 +172,10 @@ class StoreService
|
|
|
$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;
|
|
$status = null;
|
|
|
|
|
+ $fast = '无';
|
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
|
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
|
|
|
|
|
+ if ($asnHerder->asnType && $asnHerder->asnType->codename_c == '调拨入库') $fast = '快速入库';
|
|
|
$params[] = [
|
|
$params[] = [
|
|
|
'asn_code' => $asnHerder->asnno,
|
|
'asn_code' => $asnHerder->asnno,
|
|
|
'warehouse_id' => $warehouse->id ?? null,
|
|
'warehouse_id' => $warehouse->id ?? null,
|
|
@@ -180,6 +185,7 @@ class StoreService
|
|
|
'remark' => $asnHerder->notes ?? null,
|
|
'remark' => $asnHerder->notes ?? null,
|
|
|
'created_at' => $asnHerder->addtime ?? null,
|
|
'created_at' => $asnHerder->addtime ?? null,
|
|
|
'updated_at' => $asnHerder->edittime ?? null,
|
|
'updated_at' => $asnHerder->edittime ?? null,
|
|
|
|
|
+ 'is_fast_stored' => $fast,
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
return $params;
|
|
return $params;
|
|
@@ -189,14 +195,10 @@ class StoreService
|
|
|
{
|
|
{
|
|
|
if (count($params) === 0) return;
|
|
if (count($params) === 0) return;
|
|
|
foreach (array_chunk($params, 1000) as $item) {
|
|
foreach (array_chunk($params, 1000) as $item) {
|
|
|
- try {
|
|
|
|
|
- $bool = $this->insert($item);
|
|
|
|
|
- if ($bool) {
|
|
|
|
|
- app('LogService')->log(__METHOD__, __FUNCTION__, "批量创建 store success " . count($item) . ' || ' . json_encode($item));
|
|
|
|
|
- } else app('LogService')->log(__METHOD__, __FUNCTION__, "批量添加 store FAILED " . ' || ' . json_encode($item));
|
|
|
|
|
- } catch (\Exception $e) {
|
|
|
|
|
- app('LogService')->log(__METHOD__, __FUNCTION__, "批量添加 store ERROR " . ' || ' . json_encode($params) . ' || ' . json_encode($e->getMessage()) . ' || ' . json_encode($e->getTraceAsString()));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $bool = $this->insert($item);
|
|
|
|
|
+ if ($bool) {
|
|
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, "批量创建 store success " . count($item) . ' || ' . json_encode($item));
|
|
|
|
|
+ } else app('LogService')->log(__METHOD__, __FUNCTION__, "批量添加 store FAILED " . ' || ' . json_encode($item));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -211,7 +213,7 @@ class StoreService
|
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
|
$stores = $this->getByWms($asnHerders);
|
|
$stores = $this->getByWms($asnHerders);
|
|
|
$store_asn_code_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
|
|
$store_asn_code_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
|
|
|
- $owners = $ownerService->getOwnerByCodes(array_unique(data_get($asnHerders,'*.customerid')));
|
|
|
|
|
|
|
+ $owners = $ownerService->getOwnerByCodes(array_unique(data_get($asnHerders, '*.customerid')));
|
|
|
$warehouses = Warehouse::query()->get();
|
|
$warehouses = Warehouse::query()->get();
|
|
|
$owner_code_map = $dataHandlerService->dataHeader(['code'], $owners);
|
|
$owner_code_map = $dataHandlerService->dataHeader(['code'], $owners);
|
|
|
$warehouses_map = $dataHandlerService->dataHeader(['code'], $warehouses);
|
|
$warehouses_map = $dataHandlerService->dataHeader(['code'], $warehouses);
|
|
@@ -226,13 +228,15 @@ class StoreService
|
|
|
$owner_id = $owner->id ?? null;
|
|
$owner_id = $owner->id ?? null;
|
|
|
$warehouse_id = $warehouse->id ?? null;
|
|
$warehouse_id = $warehouse->id ?? null;
|
|
|
$status = null;
|
|
$status = null;
|
|
|
|
|
+ $fast = '无';
|
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
|
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
|
|
if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
|
|
|
|
|
+ if ($asnHerder->asnType && $asnHerder->asnType->codename_c == '调拨入库') $fast = '快速入库';
|
|
|
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 ||
|
|
|
- $store->stored_method != ($asnHerder->asnType->codename_c ??'')||
|
|
|
|
|
- $store->status != ($asnHerder->asnStatus->codename_c ?? '')||
|
|
|
|
|
|
|
+ $store->stored_method != ($asnHerder->asnType->codename_c ?? '') ||
|
|
|
|
|
+ $store->status != ($asnHerder->asnStatus->codename_c ?? '') ||
|
|
|
$store->remark != $asnHerder->notes ||
|
|
$store->remark != $asnHerder->notes ||
|
|
|
$store->updated_at != $asnHerder->edittime) {
|
|
$store->updated_at != $asnHerder->edittime) {
|
|
|
$updateParams[] = [
|
|
$updateParams[] = [
|
|
@@ -244,10 +248,13 @@ class StoreService
|
|
|
'status' => $status ? $status : $asnHerder->asnStatus->codename_c,
|
|
'status' => $status ? $status : $asnHerder->asnStatus->codename_c,
|
|
|
'remark' => $asnHerder->notes,
|
|
'remark' => $asnHerder->notes,
|
|
|
'updated_at' => $asnHerder->edittime,
|
|
'updated_at' => $asnHerder->edittime,
|
|
|
|
|
+ 'is_fast_stored' => $fast,
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- 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);
|
|
$storeItemService->storeItemUpdateByWms($asnHerders);
|
|
@@ -258,8 +265,9 @@ class StoreService
|
|
|
unset($updateParams, $asnHerders);
|
|
unset($updateParams, $asnHerders);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function pushJob($asnHerders){
|
|
|
|
|
- dispatch(new StoreCreateInstantBill(Store::query()->with(["storeItems"])->where('status','已入库')->whereIn('asn_code', data_get($asnHerders,'*.asnno'))->get()));
|
|
|
|
|
|
|
+ public function pushJob($asnHerders)
|
|
|
|
|
+ {
|
|
|
|
|
+ dispatch(new StoreCreateInstantBill(Store::query()->with(["storeItems"])->where('status', '已入库')->whereIn('asn_code', data_get($asnHerders, '*.asnno'))->get()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function insert($params)
|
|
public function insert($params)
|
|
@@ -333,19 +341,19 @@ class StoreService
|
|
|
{
|
|
{
|
|
|
/** @var \stdClass $store */
|
|
/** @var \stdClass $store */
|
|
|
if (!$store || $store->status != "已入库") return false;
|
|
if (!$store || $store->status != "已入库") return false;
|
|
|
- if (Cache::has("owner_fee_details:stores_".$store->id))return true;
|
|
|
|
|
- $store->loadMissing(["storeItems.commodity","warehouse"]);
|
|
|
|
|
|
|
+ if (Cache::has("owner_fee_details:stores_" . $store->id)) return true;
|
|
|
|
|
+ $store->loadMissing(["storeItems.commodity", "warehouse"]);
|
|
|
/** @var OwnerPriceOperationService $service */
|
|
/** @var OwnerPriceOperationService $service */
|
|
|
$service = app("OwnerPriceOperationService");
|
|
$service = app("OwnerPriceOperationService");
|
|
|
|
|
|
|
|
$workedAt = $store->updated_at;
|
|
$workedAt = $store->updated_at;
|
|
|
- $month = substr($workedAt,0,7);
|
|
|
|
|
|
|
+ $month = substr($workedAt, 0, 7);
|
|
|
|
|
|
|
|
$GLOBALS["FEE_INFO"] = [];
|
|
$GLOBALS["FEE_INFO"] = [];
|
|
|
- list($id,$money,$taxFee) = $service->matching($month, $store, Feature::MAPPING["store"], $store->owner_id, "入库");
|
|
|
|
|
|
|
+ list($id, $money, $taxFee) = $service->matching($month, $store, Feature::MAPPING["store"], $store->owner_id, "入库");
|
|
|
|
|
|
|
|
$amount = 0;
|
|
$amount = 0;
|
|
|
- if ($store->storeItems)foreach ($store->storeItems as $item)$amount += $item->amount;
|
|
|
|
|
|
|
+ if ($store->storeItems) foreach ($store->storeItems as $item) $amount += $item->amount;
|
|
|
if (!app("OwnerFeeDetailService")->create([
|
|
if (!app("OwnerFeeDetailService")->create([
|
|
|
"owner_id" => $store->owner_id,
|
|
"owner_id" => $store->owner_id,
|
|
|
"worked_at" => $workedAt,
|
|
"worked_at" => $workedAt,
|
|
@@ -359,19 +367,19 @@ class StoreService
|
|
|
"outer_table_name" => "stores",
|
|
"outer_table_name" => "stores",
|
|
|
"work_tax_fee" => $taxFee,
|
|
"work_tax_fee" => $taxFee,
|
|
|
])) return false;
|
|
])) return false;
|
|
|
- $this->setStoreAmount($store->owner_id,$amount,$month);
|
|
|
|
|
- if ($money>0)$this->constructFeeInfo([
|
|
|
|
|
|
|
+ $this->setStoreAmount($store->owner_id, $amount, $month);
|
|
|
|
|
+ if ($money > 0) $this->constructFeeInfo([
|
|
|
"worked_at" => $workedAt,
|
|
"worked_at" => $workedAt,
|
|
|
"owner_id" => $store->owner_id,
|
|
"owner_id" => $store->owner_id,
|
|
|
- "model_id" => $id,
|
|
|
|
|
- "source_number"=> null,
|
|
|
|
|
- "doc_number" => $store->asn_code,
|
|
|
|
|
|
|
+ "model_id" => $id,
|
|
|
|
|
+ "source_number" => null,
|
|
|
|
|
+ "doc_number" => $store->asn_code,
|
|
|
"commodity_id" => 0,
|
|
"commodity_id" => 0,
|
|
|
- "total_fee" =>0,
|
|
|
|
|
- "tax_rate" =>0,
|
|
|
|
|
- "fee_description"=>'',
|
|
|
|
|
|
|
+ "total_fee" => 0,
|
|
|
|
|
+ "tax_rate" => 0,
|
|
|
|
|
+ "fee_description" => '',
|
|
|
]);
|
|
]);
|
|
|
- Cache::put("owner_fee_details:stores_".$store->id,1,86400);
|
|
|
|
|
|
|
+ Cache::put("owner_fee_details:stores_" . $store->id, 1, 86400);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -384,14 +392,15 @@ class StoreService
|
|
|
*/
|
|
*/
|
|
|
public function constructFeeInfo(array $defaultInfo)
|
|
public function constructFeeInfo(array $defaultInfo)
|
|
|
{
|
|
{
|
|
|
- foreach ($GLOBALS["FEE_INFO"] as $info){
|
|
|
|
|
|
|
+ foreach ($GLOBALS["FEE_INFO"] as $info) {
|
|
|
$operation = $defaultInfo;
|
|
$operation = $defaultInfo;
|
|
|
- foreach ($operation as $key=>$val)if (isset($info[$key]))$operation[$key] = $info[$key];
|
|
|
|
|
|
|
+ foreach ($operation as $key => $val) if (isset($info[$key])) $operation[$key] = $info[$key];
|
|
|
$model = OwnerFeeOperation::query()->create($operation);
|
|
$model = OwnerFeeOperation::query()->create($operation);
|
|
|
- if($info['details'])foreach ($info['details'] as &$detail)$detail["owner_fee_operation_id"] = $model->id;
|
|
|
|
|
|
|
+ if ($info['details']) foreach ($info['details'] as &$detail) $detail["owner_fee_operation_id"] = $model->id;
|
|
|
OwnerFeeOperationDetail::query()->insert($info['details']);
|
|
OwnerFeeOperationDetail::query()->insert($info['details']);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 清除费用信息
|
|
* 清除费用信息
|
|
|
*
|
|
*
|
|
@@ -400,12 +409,12 @@ class StoreService
|
|
|
public function clearFeeInfo(string $docNumber)
|
|
public function clearFeeInfo(string $docNumber)
|
|
|
{
|
|
{
|
|
|
try {
|
|
try {
|
|
|
- $models = OwnerFeeOperation::query()->where("doc_number",$docNumber)->get();
|
|
|
|
|
- if ($models->count()==0)return;
|
|
|
|
|
- OwnerFeeOperationDetail::query()->whereIn("owner_fee_operation_id",array_column($models->toArray(),"id"))->delete();
|
|
|
|
|
- OwnerFeeOperation::query()->where("doc_number",$docNumber)->delete();
|
|
|
|
|
- }catch (\Exception $e){
|
|
|
|
|
- Log::warning("清除费用信息发送错误",["ASN号:{$docNumber}",isset($models) ? $models->toJson() : "查费用信息时被锁定",$e->getMessage()]);
|
|
|
|
|
|
|
+ $models = OwnerFeeOperation::query()->where("doc_number", $docNumber)->get();
|
|
|
|
|
+ if ($models->count() == 0) return;
|
|
|
|
|
+ OwnerFeeOperationDetail::query()->whereIn("owner_fee_operation_id", array_column($models->toArray(), "id"))->delete();
|
|
|
|
|
+ OwnerFeeOperation::query()->where("doc_number", $docNumber)->delete();
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ Log::warning("清除费用信息发送错误", ["ASN号:{$docNumber}", isset($models) ? $models->toJson() : "查费用信息时被锁定", $e->getMessage()]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -413,34 +422,35 @@ class StoreService
|
|
|
* @param $asnHerders
|
|
* @param $asnHerders
|
|
|
* @return null
|
|
* @return null
|
|
|
*/
|
|
*/
|
|
|
- public function createStoreRejected($asnHerders){
|
|
|
|
|
|
|
+ public function createStoreRejected($asnHerders)
|
|
|
|
|
+ {
|
|
|
if (!$asnHerders) return null;
|
|
if (!$asnHerders) return null;
|
|
|
$stores = $this->getByWms($asnHerders);
|
|
$stores = $this->getByWms($asnHerders);
|
|
|
$orders = Order::query()->whereIn('client_code', data_get($asnHerders, '*.asnreference2'))->get();
|
|
$orders = Order::query()->whereIn('client_code', data_get($asnHerders, '*.asnreference2'))->get();
|
|
|
- $store_rejecteds=StoreRejected::query()->whereIn('order_id',data_get($orders,'*.id'))->whereIn('store_id',data_get($stores,'*.id'))->get();
|
|
|
|
|
|
|
+ $store_rejecteds = StoreRejected::query()->whereIn('order_id', data_get($orders, '*.id'))->whereIn('store_id', data_get($stores, '*.id'))->get();
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
|
$order_map = $dataHandlerService->dataHeader(['client_code'], $orders);
|
|
$order_map = $dataHandlerService->dataHeader(['client_code'], $orders);
|
|
|
$store_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
|
|
$store_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
|
|
|
- $store_rejected_map=$dataHandlerService->dataHeader(['store_id','order_id','logistic_number_return'],$store_rejecteds);
|
|
|
|
|
- $insert_param=[];
|
|
|
|
|
- foreach ($asnHerders as $asnHerder){
|
|
|
|
|
|
|
+ $store_rejected_map = $dataHandlerService->dataHeader(['store_id', 'order_id', 'logistic_number_return'], $store_rejecteds);
|
|
|
|
|
+ $insert_param = [];
|
|
|
|
|
+ foreach ($asnHerders as $asnHerder) {
|
|
|
if (!$asnHerder->asnreference2) continue;
|
|
if (!$asnHerder->asnreference2) continue;
|
|
|
- $order=$dataHandlerService->getKeyValue(['client_code'=>$asnHerder->asnreference2],$order_map);
|
|
|
|
|
- $store=$dataHandlerService->getKeyValue(['asn_code'=>$asnHerder->asnno],$store_map);
|
|
|
|
|
- if (!$order || !$store)continue;
|
|
|
|
|
- $store_rejected=$dataHandlerService->getKeyValue(['store_id'=>$store->id,'order_id'=>$order->id,'logistic_number_return'=>$asnHerder->asnreference3],$store_rejected_map);
|
|
|
|
|
|
|
+ $order = $dataHandlerService->getKeyValue(['client_code' => $asnHerder->asnreference2], $order_map);
|
|
|
|
|
+ $store = $dataHandlerService->getKeyValue(['asn_code' => $asnHerder->asnno], $store_map);
|
|
|
|
|
+ if (!$order || !$store) continue;
|
|
|
|
|
+ $store_rejected = $dataHandlerService->getKeyValue(['store_id' => $store->id, 'order_id' => $order->id, 'logistic_number_return' => $asnHerder->asnreference3], $store_rejected_map);
|
|
|
if ($store_rejected) continue;
|
|
if ($store_rejected) continue;
|
|
|
- $insert_param[]=[
|
|
|
|
|
- 'store_id'=>$store->id,
|
|
|
|
|
- 'order_id'=>$order->id,
|
|
|
|
|
- 'logistic_number_return'=>$asnHerder->asnreference3 ?? '',
|
|
|
|
|
- 'created_at'=>Carbon::now()->toDateTimeString(),
|
|
|
|
|
|
|
+ $insert_param[] = [
|
|
|
|
|
+ 'store_id' => $store->id,
|
|
|
|
|
+ 'order_id' => $order->id,
|
|
|
|
|
+ 'logistic_number_return' => $asnHerder->asnreference3 ?? '',
|
|
|
|
|
+ 'created_at' => Carbon::now()->toDateTimeString(),
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
- if (count($insert_param)>0) StoreRejected::query()->insert($insert_param);
|
|
|
|
|
|
|
+ if (count($insert_param) > 0) StoreRejected::query()->insert($insert_param);
|
|
|
app('LogService')
|
|
app('LogService')
|
|
|
- ->log(__METHOD__, __FUNCTION__, '11 createStoreRejected:'.json_encode($insert_param));
|
|
|
|
|
|
|
+ ->log(__METHOD__, __FUNCTION__, '11 createStoreRejected:' . json_encode($insert_param));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -455,8 +465,8 @@ class StoreService
|
|
|
SELECT sum(amount) total FROM `store_items` LEFT JOIN stores ON store_items.store_id=stores.id WHERE stores.owner_id = ? AND (stores.status='已入库' OR stores.status='ASN关闭') AND store_items.updated_at LIKE ?
|
|
SELECT sum(amount) total FROM `store_items` LEFT JOIN stores ON store_items.store_id=stores.id WHERE stores.owner_id = ? AND (stores.status='已入库' OR stores.status='ASN关闭') AND store_items.updated_at LIKE ?
|
|
|
sql
|
|
sql
|
|
|
);
|
|
);
|
|
|
- $statistics = DB::selectOne($query,[$owner,date("Y-m")."%"]);
|
|
|
|
|
- Cache::put($month."|A|".$owner,$statistics->total ?: 0,2764800);
|
|
|
|
|
|
|
+ $statistics = DB::selectOne($query, [$owner, date("Y-m") . "%"]);
|
|
|
|
|
+ Cache::put($month . "|A|" . $owner, $statistics->total ?: 0, 2764800);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -469,8 +479,8 @@ sql
|
|
|
public function setStoreAmount(int $owner, int $amount, string $month)
|
|
public function setStoreAmount(int $owner, int $amount, string $month)
|
|
|
{
|
|
{
|
|
|
$date = date("Y-m");
|
|
$date = date("Y-m");
|
|
|
- if (!Cache::has($date."|A|".$owner))$this->storeAmountCompensationLogic($owner,$month);//补偿逻辑
|
|
|
|
|
- Cache::increment($date."|A|".$owner,$amount);
|
|
|
|
|
|
|
+ if (!Cache::has($date . "|A|" . $owner)) $this->storeAmountCompensationLogic($owner, $month);//补偿逻辑
|
|
|
|
|
+ Cache::increment($date . "|A|" . $owner, $amount);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -481,9 +491,9 @@ sql
|
|
|
*
|
|
*
|
|
|
* @return int
|
|
* @return int
|
|
|
*/
|
|
*/
|
|
|
- public function getStoreAmount(int $owner, string $date):int
|
|
|
|
|
|
|
+ public function getStoreAmount(int $owner, string $date): int
|
|
|
{
|
|
{
|
|
|
- if (!Cache::has($date."|A|".$owner))$this->storeAmountCompensationLogic($owner,$date);
|
|
|
|
|
- return Cache::get($date."|A|".$owner);
|
|
|
|
|
|
|
+ if (!Cache::has($date . "|A|" . $owner)) $this->storeAmountCompensationLogic($owner, $date);
|
|
|
|
|
+ return Cache::get($date . "|A|" . $owner);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|