|
|
@@ -91,94 +91,5 @@ class TestController extends Controller
|
|
|
Controller::logS(__METHOD__,''.__FUNCTION__,"向WMS提交运单成功,SO单号:{$waybill['wms_bill_number']}。返回:{$response->body()}",0);
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
- public function test1()
|
|
|
- {
|
|
|
- /** @var OracleDocAsnHerderService $oracleDocAsnHerderService */
|
|
|
- $oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
|
|
|
- $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit('2022-10-26 20:30:00');
|
|
|
- if (count($asnHerders)<1) return;
|
|
|
- $this->createStore($asnHerders,"update");
|
|
|
- }
|
|
|
-
|
|
|
- public function createStore($asnHerders,$isUpdate=null)
|
|
|
- {
|
|
|
- if (!$asnHerders) return null;
|
|
|
- /** @var OwnerService $ownerService */
|
|
|
- $ownerService = app(OwnerService::class);
|
|
|
- $owner_codes = [];
|
|
|
- $warehouse_codes = [];
|
|
|
- foreach ($asnHerders as $asnHerder) {
|
|
|
- if (!empty($asnHerder['customerid']))
|
|
|
- $owner_codes[$asnHerder['customerid']] = $asnHerder['customerid'];
|
|
|
- if (!empty($asnHerder['warehouseid']))
|
|
|
- $warehouse_codes[$asnHerder['warehouseid']] = $asnHerder['warehouseid'];
|
|
|
- }
|
|
|
- $owners = $ownerService->getOwnerByCodes($owner_codes);
|
|
|
- $warehouses = Warehouse::query()->get();
|
|
|
- $owners_code_map=[];
|
|
|
- foreach ($owners as $owner) {
|
|
|
- $owners_code_map[$owner->code] = $owner;
|
|
|
- }
|
|
|
- $warehouses_code_map=[];
|
|
|
- foreach ($warehouses as $warehouse) {
|
|
|
- $warehouses_code_map[$warehouse->code] = $warehouse;
|
|
|
- }
|
|
|
- $params = $this->getParamsByAsnHeader($asnHerders, $owners_code_map, $warehouses_code_map);
|
|
|
- dd($params);
|
|
|
- if (count($params) > 0) $this->insertStore($params);
|
|
|
- /** @var StoreItemService $storeItemService */
|
|
|
- $storeItemService = app(StoreItemService::class);
|
|
|
- $storeItemService->storeItemCreateByWms($asnHerders);
|
|
|
- /** @var RejectedBillService $rejectedBillService */
|
|
|
- $rejectedBillService = app(RejectedBillService::class);
|
|
|
- $rejectedBillService->syncLoadedStatusByAsnHerder($asnHerders);
|
|
|
- }
|
|
|
- public function getParamsByAsnHeader($asnHerders, $owners_code_map, $warehouses_code_map)
|
|
|
- {
|
|
|
- $params = [];
|
|
|
- $stores = Store::query()->whereIn('asn_code', data_get($asnHerders, '*.asnno'))->get();
|
|
|
- $store_asn_code_map = [];
|
|
|
- foreach ($stores as $store) {
|
|
|
- $store_asn_code_map[$store->asn_code] = $store;
|
|
|
- }
|
|
|
- foreach ($asnHerders as $asnHerder) {
|
|
|
- if ($store_asn_code_map[$asnHerder->asnno] ?? false) continue;
|
|
|
- $owner = $owners_code_map[$asnHerder->customerid] ?? null;
|
|
|
- $warehouse = $warehouses_code_map[$asnHerder->warehouseid] ?? null;
|
|
|
- $status = null;
|
|
|
- $fast = null;
|
|
|
- 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[] = [
|
|
|
- 'asn_code' => $asnHerder->asnno,
|
|
|
- 'warehouse_id' => $warehouse->id ?? null,
|
|
|
- 'owner_id' => $owner->id ?? null,
|
|
|
- 'stored_method' => $asnHerder->asnType ? $asnHerder->asnType->codename_c : '',
|
|
|
- 'status' => $status ? $status : $asnHerder->asnStatus->codename_c,
|
|
|
- 'remark' => $asnHerder->notes ?? null,
|
|
|
- 'created_at' => $asnHerder->addtime ?? null,
|
|
|
- 'updated_at' => $asnHerder->edittime ?? null,
|
|
|
- 'is_fast_stored' => $fast,
|
|
|
- ];
|
|
|
- }
|
|
|
- return $params;
|
|
|
- }
|
|
|
- public function insertStore(array $params)
|
|
|
- {
|
|
|
- if (count($params) === 0) return;
|
|
|
- foreach (array_chunk($params, 1000) as $item) {
|
|
|
- $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));
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- public function insert($params)
|
|
|
- {
|
|
|
- return Store::query()->insert($params);
|
|
|
- }
|
|
|
}
|
|
|
|