|
|
@@ -15,7 +15,7 @@ Class StoreService
|
|
|
{
|
|
|
private function conditionQuery(array $params)
|
|
|
{
|
|
|
- $stores = Store::query()->with(['storeItems.store', 'warehouse', 'owner'])->whereNotIn('stored_method', ['快速入库', '正常'])->orderBy('id', 'DESC');
|
|
|
+ $stores = Store::query()->with(['storeItems.store', 'warehouse', 'owner'])->where('is_fast_stored', '无')->orderBy('id', 'DESC');
|
|
|
$columnQueryRules = [
|
|
|
'asn_code' => ['like' => ''],
|
|
|
'created_at_start' => ['alias' => 'created_at', 'startDate' => ' 00:00:00'],
|
|
|
@@ -50,11 +50,15 @@ Class StoreService
|
|
|
/** @var OracleDocAsnHerderService $oracleDocAsnHerderService */
|
|
|
$oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
|
$last_time = $this->getAsnLastSyncAt($created_at, 'create');
|
|
|
+ //dump('getWmsAsnOnStartDateCreate'.'start'.(string)Carbon::now());
|
|
|
$asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate($last_time);
|
|
|
+ //dump('getWmsAsnOnStartDateCreate'.'end'.(string)Carbon::now());
|
|
|
$last_time = $asnHerders->first()['addtime'];
|
|
|
$last_records = $asnHerders->where('addtime', $last_time);
|
|
|
if (!$asnHerders) return;
|
|
|
+ //dump('createStore'.'start'.(string)Carbon::now());
|
|
|
$this->createStore($asnHerders);
|
|
|
+ //dump('createStore'.'end'.(string)Carbon::now());
|
|
|
$this->deleteCacheKey($create_set, $create_keys);
|
|
|
$this->setLastRecordsByRedis($create_key, $create_set, $create_keys, $last_records);
|
|
|
$this->setAsnLastSyncAt($created_at, $last_time);
|
|
|
@@ -70,12 +74,16 @@ Class StoreService
|
|
|
/** @var OracleDocAsnHerderService $oracleDocAsnHerderService */
|
|
|
$oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
|
$last_time = $this->getAsnLastSyncAt($updated_at, 'update');
|
|
|
+ //dump('getWmsAsnOnStartDateEdit'.'start'.(string)Carbon::now());
|
|
|
$asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit($last_time);
|
|
|
+ //dump('getWmsAsnOnStartDateEdit'.'end'.(string)Carbon::now());
|
|
|
$last_time = $asnHerders->first()['edittime'];
|
|
|
$last_records = $asnHerders->where('edittime', $last_time);
|
|
|
if (!$asnHerders) return;
|
|
|
- $this->createStore($asnHerders);
|
|
|
+ //dump('updateStore'.'start'.(string)Carbon::now());
|
|
|
+ //$this->createStore($asnHerders);
|
|
|
$this->updateStore($asnHerders);
|
|
|
+ //dump('updateStore'.'end'.(string)Carbon::now());
|
|
|
$this->deleteCacheKey($update_set, $update_keys);
|
|
|
$this->setLastRecordsByRedis($update_key, $update_set, $update_keys, $last_records);
|
|
|
$this->setAsnLastSyncAt($updated_at, $last_time);
|
|
|
@@ -107,9 +115,7 @@ Class StoreService
|
|
|
$warehouses_code_map[$warehouse->code] = $warehouse;
|
|
|
}
|
|
|
$params = $this->getParamsByAsnHeader($asnHerders, $owners_code_map, $warehouses_code_map);
|
|
|
- if (count($params) > 0) {
|
|
|
- $this->insertStore($params);
|
|
|
- }
|
|
|
+ if (count($params) > 0) $this->insertStore($params);
|
|
|
/** @var StoreItemService $storeItemService */
|
|
|
$storeItemService = app(StoreItemService::class);
|
|
|
$storeItemService->storeItemCreateByWms($asnHerders);
|
|
|
@@ -150,12 +156,16 @@ Class StoreService
|
|
|
|
|
|
public function insertStore(array $params)
|
|
|
{
|
|
|
- if (count($params) === 0) return [];
|
|
|
- try {
|
|
|
- $this->insert($params);
|
|
|
- LogService::log(__METHOD__, __FUNCTION__, '批量创建 store success' . count($params) . json_encode($params));
|
|
|
- } catch (\Exception $e) {
|
|
|
- LogService::log(__METHOD__, __FUNCTION__, '批量创建 store error' . json_encode($params) . '||' . json_encode($e->getMessage()) . '||' . $e->getTraceAsString());
|
|
|
+ if (count($params) === 0) return;
|
|
|
+ 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()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -187,14 +197,9 @@ Class StoreService
|
|
|
$updateParams = [[
|
|
|
'id', 'asn_code', 'warehouse_id', 'owner_id', 'stored_method', 'status', 'remark', 'updated_at'
|
|
|
]];
|
|
|
-// $KSRK = [];
|
|
|
foreach ($asnHerders as $asnHerder) {
|
|
|
$store = $dataHandlerService->getKeyValue(['asn_code' => $asnHerder->asnno], $store_asn_code_map);
|
|
|
if (!$store) continue;
|
|
|
-// if ($store && $store->stored_method == '快速入库') {
|
|
|
-// array_push($KSRK, $store['asn_code']);
|
|
|
-// continue;
|
|
|
-// }
|
|
|
$owner = $dataHandlerService->getKeyValue(['code' => $asnHerder->customerid], $owner_code_map);
|
|
|
$warehouse = $dataHandlerService->getKeyValue(['code' => $asnHerder->warehouseid], $warehouses_map);
|
|
|
$owner_id = $owner->id ?? null;
|
|
|
@@ -220,7 +225,19 @@ Class StoreService
|
|
|
];
|
|
|
}
|
|
|
}
|
|
|
- if (count($updateParams) > 1) $this->batchUpdate($updateParams);
|
|
|
+ if (count($updateParams) > 1) {
|
|
|
+ //$this->batchUpdate($updateParams);
|
|
|
+ foreach (array_chunk($updateParams, 1000) as $item) {
|
|
|
+ try {
|
|
|
+ $bool=$this->batchUpdate($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($updateParams) . ' || ' . json_encode($e->getMessage()) . ' || ' . json_encode($e->getTraceAsString()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
/** @var StoreItemService $storeItemService */
|
|
|
$storeItemService = app(StoreItemService::class);
|
|
|
$storeItemService->storeItemUpdateByWms($asnHerders);
|