|
|
@@ -44,6 +44,7 @@ use App\Services\LogisticService;
|
|
|
use App\Services\LogService;
|
|
|
use App\Services\OracleDocAsnHerderService;
|
|
|
use App\Services\OracleDOCOrderHeaderService;
|
|
|
+use App\Services\OrderCommodityService;
|
|
|
use App\Services\OrderPackageService;
|
|
|
use App\Services\OrderService;
|
|
|
use App\Services\OrderTrackingOwnerService;
|
|
|
@@ -66,6 +67,7 @@ use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Support\Str;
|
|
|
use Maatwebsite\Excel\Facades\Excel;
|
|
|
+use PhpMyAdmin\Server\Status\Data;
|
|
|
use Ramsey\Collection\Collection;
|
|
|
use Zttp\Zttp;
|
|
|
|
|
|
@@ -1049,6 +1051,7 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
|
|
|
|
|
|
public function view()
|
|
|
{
|
|
|
+ $this->testSyncOrderTask();
|
|
|
return view('test');
|
|
|
}
|
|
|
|
|
|
@@ -1312,10 +1315,14 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
|
|
|
public function testSyncOrderTask(){
|
|
|
dump('hendle...');
|
|
|
dump((string)Carbon::now());
|
|
|
+ dump(memory_get_usage()/1024/1024);
|
|
|
$task = new SyncWMSOrderTask();
|
|
|
$task->handle();
|
|
|
dump((string)Carbon::now());
|
|
|
- dd('hendle...end');
|
|
|
+ dump('hendle...end');
|
|
|
+ dump(memory_get_usage()/1024/1024);
|
|
|
+ dump(memory_get_peak_usage()/1024/1024);
|
|
|
+
|
|
|
}
|
|
|
function testUpdateStores(){
|
|
|
$stores=Store::query()->where('stored_method','快速入库')->get();
|
|
|
@@ -1334,16 +1341,51 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
|
|
|
if (count($updateParams) > 1) app(BatchUpdateService::class)->batchUpdate('stores', $updateParams);
|
|
|
}
|
|
|
|
|
|
- public function testSql(){
|
|
|
- $order_nos = [
|
|
|
- '1c6f8400-04a2-3c45-a6be-c3626f813718','df343940-84e3-3cc7-aec6-fae34eca7e63','70644607-f501-3e53-8206-8acdc524203e','c046ea43-3d40-3c47-b5e5-eafe9bd2ee11','d2fa9600-8fe2-39a1-ae47-1fb768221999','a783c277-a088-3f22-8c00-72cfe74c7d52','b17bd257-63bb-3fb2-8b91-9b45d3f3b693','020f9c81-39be-37ec-84d4-f65fad534d81','627028a6-e92c-3360-8242-a7eeb7be58fe','a1c0c809-0fac-3324-b77a-62867f79585e','21c8101b-f749-3ffc-83c1-421a97678fa6','93752dca-9130-3a17-a470-8e6364d75e31','19350ab0-58ad-3ecf-8972-d16eb6b66076','1f21fdda-321e-3cbe-a7c3-630e2b6357fa','0bdb0c29-9389-3d8c-8c65-7998f87b0b6d','4848d466-1c74-356c-b3f6-02102c7434a7','f1d7c9d7-cd68-3ad8-9ab2-891cc179444b','1e659a7a-9194-3f94-af61-e986a003052c','61242fe6-00c1-36e6-ae32-6b22c938b679','ee0cd59e-2b7d-3236-912e-11f657c9221c','d6172640-a626-3663-abfc-a89369b9b47f','c1fb8bee-7308-38ad-a06c-c6170542c208','37a94f7b-92fe-33c7-a5dc-e4ebabaa9d90','e9530fac-0d2f-32e2-be14-094976ea43f8','f105d172-98c8-3d77-bb07-1f88f5c62b1f','48732325-b254-372e-9cba-7482b322057d','87ba98a1-2542-3f73-ab8e-da2ec18e8571','c9b7d8e0-8e2b-3173-931b-b572cf9faebb','36f9c836-da0d-3181-85ad-47a3ca060ca2','648507e8-8abe-3eb3-8cd3-012b6e866922','33005837-741f-35bc-be9a-901cde136bbd','8bf17e47-5b03-3603-9318-d72360131dd4','c75b913c-7cb4-30c6-b253-74677d71b311','ff0497ba-a827-360b-86b6-fc680bb24a7e','430ad785-8d10-3fe8-b703-44cf67a953cc','937f37b1-12e3-37b6-9d5c-293caeb17ad3','3e69af15-1c5e-3b09-95a0-8837f5d996e3','32eb79fa-da02-324a-ab71-18947058d305','bc91ae6e-922f-35db-b052-28d6a98a6f3f','e6e925d4-64f1-35a9-9cde-a9a1faa6cef9','3ae8d5ec-2c7c-3818-97b0-c1807073a46a','c81a1a5c-160b-3752-bceb-b181156b20ae','2204bbf6-9641-3e45-8fc5-0f13ac16329e'];
|
|
|
- $sql = OrderCommodity::query()->with('commodity','order')->whereHas('order',function($query)use($order_nos){
|
|
|
- $query->whereIn('code',$order_nos);
|
|
|
- })->sql();
|
|
|
-
|
|
|
- $sql = OrderCommodity::query()->with('commodity','order')->whereIn('order_id',function($query)use($order_nos){
|
|
|
- $query->table('orders')->select('orders.id')->whereIn('code',$order_nos);
|
|
|
- })->sql();
|
|
|
- dd($sql);
|
|
|
+ public function checkOrderCommodities()
|
|
|
+ {
|
|
|
+ dump((string)Carbon::now());
|
|
|
+ $dataHandlerService = new DataHandlerService();
|
|
|
+ $orders = Order::query()
|
|
|
+ ->where('id','<=','4600')
|
|
|
+ ->where('id','>=','4500')
|
|
|
+ ->get();
|
|
|
+ $orders_params = $orders->chunk(100);
|
|
|
+ foreach ($orders_params as $orders_param) {
|
|
|
+ $orders_maps = $dataHandlerService->dataHeader(['code'],$orders_param);
|
|
|
+ $orderNos = data_get($orders_param,'*.code');
|
|
|
+ $orderHeaders = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
|
|
|
+ ->with(['actAllocationDetails'=>function($query){
|
|
|
+ $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku,ACT_Allocation_Details.Location');
|
|
|
+ }])->whereIn('orderno',$orderNos)->get();
|
|
|
+ foreach ($orderHeaders as $orderHeader) {
|
|
|
+ $order = $dataHandlerService->getKeyValue(['code'=>$orderHeader->orderno],$orders_maps);
|
|
|
+ $orderCommodities = $order->orderCommodities;
|
|
|
+ $orderHeader->actAllocationDetails->each(function($item)use(&$orderCommodities,&$order){
|
|
|
+ $sku = $item->sku;
|
|
|
+ $location= $item->location;
|
|
|
+ $amount = $item->qty_each;
|
|
|
+ $orderCommodity = $orderCommodities->where('commodity.sku',$sku)->where('location',$location)->where('amount',$amount)->first();
|
|
|
+ if($orderCommodity){
|
|
|
+ $orderCommodities = $orderCommodities->filter(function($item)use($orderCommodity){
|
|
|
+ return $orderCommodity->id != $item->id;
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ dd(11,$order);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ unset($orderHeaders,$orders);
|
|
|
+ dump((string)Carbon::now());
|
|
|
+ }
|
|
|
+
|
|
|
+ public function syncOrder()
|
|
|
+ {
|
|
|
+ $orderHeaders = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
|
|
|
+ ->with(['actAllocationDetails'=>function($query){
|
|
|
+ $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku,ACT_Allocation_Details.Location');
|
|
|
+ }])->whereIn('orderno',['SO201215001087'])->get();
|
|
|
+ $service = new OrderCommodityService();
|
|
|
+ $service->syncOrderCommodity($orderHeaders);
|
|
|
}
|
|
|
}
|