|
|
@@ -203,7 +203,7 @@ class OrderService
|
|
|
$ordernos = app('OracleActAllocationDetailService')
|
|
|
->getOrderno(['checktime_start'=>$checktime_start,'checktime_end'=>$checktime_end,
|
|
|
'paginate'=>$paginate,'page'=>$page]);
|
|
|
- if ($ordernos)$params['ordernos'] = $ordernos;
|
|
|
+ $params['ordernos'] = $ordernos;
|
|
|
}
|
|
|
$sql="select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
|
|
|
,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,DOC_ORDER_HEADER.EDIREMARKS2,
|
|
|
@@ -649,7 +649,7 @@ class OrderService
|
|
|
$warehouses = app(WarehouseService::class)->getByWmsOrders($orderHeaders);
|
|
|
$warehouses_map = $dataHandlerService->dataHeader(['code'],$warehouses);
|
|
|
$updateParams = [[
|
|
|
- 'id','owner_id','wms_status','logistic_id','shop_id','consignee_name','consignee_phone','province','city','district','address','client_code','updated_at','wms_edittime','warehouse_id'
|
|
|
+ 'id','owner_id','wms_status','logistic_id','shop_id','consignee_name','consignee_phone','province','city','district','address','client_code','updated_at','wms_edittime','warehouse_id','created_at'
|
|
|
]];
|
|
|
$updated_at = Carbon::now()->toDateTimeString();
|
|
|
foreach ($orderHeaders as $orderHeader) {
|
|
|
@@ -768,9 +768,10 @@ class OrderService
|
|
|
// TODO
|
|
|
public function syncOrder(&$orderHeaders)
|
|
|
{
|
|
|
- /** @var OrderPackageService $packageService */
|
|
|
+ /**
|
|
|
+ * @var OrderPackageService $packageService
|
|
|
+ */
|
|
|
$packageService = app("OrderPackageService");
|
|
|
- var_dump('syncOrderByWMSOrderHeaders',new Carbon());
|
|
|
$this->syncOrderByWMSOrderHeaders($orderHeaders);
|
|
|
$packageService->syncOrderPackage($orderHeaders);
|
|
|
}
|
|
|
@@ -943,85 +944,49 @@ class OrderService
|
|
|
'address' => $orderHeader->c_address1,
|
|
|
'client_code' => $orderHeader->soreference1,
|
|
|
'updated_at' => $updated_at,
|
|
|
+ 'created_at' => $orderHeader->addtime,
|
|
|
'wms_edittime' => $orderHeader->edittime,
|
|
|
'warehouse_id' => $warehouse_id];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function batchDeleteUnnecessaryOrder(){
|
|
|
- $start_id = 0;
|
|
|
- $step = 1000;
|
|
|
- while(true){
|
|
|
- $order_map = [];
|
|
|
-
|
|
|
- $package_del = []; $orderCommodities = []; $bin = []; $batch = []; $order = [];
|
|
|
- $package_update= []; $orderCommodities_update= []; $bin_update= []; $batch_update= []; $order_update = [];
|
|
|
- $orders = Order::query()->with('packages.commodities','orderCommodities','bin','batch')->where('id','>',$start_id)->where('id','<',$start_id+$step)->get();
|
|
|
- $this->getOrderMap($orders,$order_map);
|
|
|
-
|
|
|
- if(count($order_map) == 0)continue;
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- // OrderPackages
|
|
|
- public function batchDeleteUnnecessaryOrderPackages($order_map)
|
|
|
- {
|
|
|
- $packages = collect();
|
|
|
- $del_packages= collect();
|
|
|
- $update_packages = collect();
|
|
|
- foreach ($order_map as $key =>$items) {
|
|
|
- $orderPackage = null;
|
|
|
- $items->packages->each(function($packages){
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- // Batch
|
|
|
- public function batchDeleteUnnecessaryBatch($order_map,&$batch_order_no_map)
|
|
|
- {
|
|
|
- foreach ($order_map as $items) {
|
|
|
- collect($items)->each(function($order)use(&$batch_order_no_map){
|
|
|
- $bin = $order->batch;
|
|
|
- if($bin ?? false){
|
|
|
- $batch_order_no_map[$order->code][] = $bin;
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- // OrderCommodities
|
|
|
- public function batchDeleteUnnecessaryOrderCommodities($order_map,&$orderCommodities_map)
|
|
|
+ // TODO
|
|
|
+ public function createOrFindOrder($orderHeader)
|
|
|
{
|
|
|
- foreach ($order_map as $items) {
|
|
|
- collect($items)->each(function($order)use(&$orderCommodities_map){
|
|
|
- $orderCommodities = $order->orderCommodities;
|
|
|
- if($bin ?? false){
|
|
|
- $orderCommodities_map[$order->code][] = $orderCommodities;
|
|
|
- }
|
|
|
- });
|
|
|
+ $order = Order::query()->where('code',$orderHeader->orderno)->first();
|
|
|
+ if($order)return $order;
|
|
|
+ $create_params = $this->getParamByOrderHeader($orderHeader);
|
|
|
+ try {
|
|
|
+ $order = Order::query()->create($create_params);
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, '创建 Order' . json_encode($order));
|
|
|
+ return $order;
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ app('LogService')->log(__METHOD__, 'Error'.__FUNCTION__, '创建 Order Error' .' || '. json_encode($order).' || '.json_encode($e->getMessage()).' || '.json_encode($e->getTraceAsString()));
|
|
|
+ return null;
|
|
|
}
|
|
|
}
|
|
|
- // Bin
|
|
|
- public function batchDeleteUnnecessaryBin($order_map,&$bin_order_no_map)
|
|
|
+ // TODO
|
|
|
+ public function createOrFindOrderInfo($orderHeader)
|
|
|
{
|
|
|
- foreach ($order_map as $items) {
|
|
|
- collect($items)->each(function($order)use(&$bin_order_no_map){
|
|
|
- $bin = $order->bin;
|
|
|
- if($bin ?? false){
|
|
|
- $bin_order_no_map[$order->code][] = $bin;
|
|
|
- }
|
|
|
- });
|
|
|
+ /**
|
|
|
+ * @var OrderPackageService $orderPackageService
|
|
|
+ * @var OrderPackageCommoditiesService $orderPackageCommoditiesService
|
|
|
+ */
|
|
|
+ $orderPackageService = app('OrderPackageService');
|
|
|
+ $orderPackageCommoditiesService = app('OrderPackageCommoditiesService');
|
|
|
+ $order = Order::query()->with('packages.commodities')->where('code',$orderHeader->orderno)->first();
|
|
|
+ if($order) return $order;
|
|
|
+ $create_param = $this->getParamByOrderHeader($orderHeader);
|
|
|
+ try {
|
|
|
+ $orderHeaders = [$orderHeader];
|
|
|
+ $order = Order::query()->create($create_param);
|
|
|
+ $orderPackageService->syncOrderPackage($orderHeaders);
|
|
|
+ $orderPackageCommoditiesService->syncOrderPackageCommodities($orderHeaders);
|
|
|
+ return Order::query()->with('packages.commodities')->where('code',$orderHeader->orderno)->first();
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ app('LogService')->log(__METHOD__, 'Error'.__FUNCTION__, '创建 Order Error' .' || '. json_encode($order).' || '.json_encode($e->getMessage()).' || '.json_encode($e->getTraceAsString()));
|
|
|
+ return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function getOrderMap($orders,&$orderMap)
|
|
|
- {
|
|
|
- $orders->each(function($items,$key)use(&$orderMap){
|
|
|
- // $items $order集合
|
|
|
- if($items->count()>1){
|
|
|
- $order_map[$key] = $items; // 保留超过2个orders
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
}
|