|
|
@@ -20,7 +20,6 @@ use App\OracleDOCWaveDetails;
|
|
|
use App\Order;
|
|
|
use App\OrderIssue;
|
|
|
use App\OrderPackage;
|
|
|
-use App\OrderPackageCommodities;
|
|
|
use App\OrderTracking;
|
|
|
use App\OrderTrackingOwner;
|
|
|
use App\Owner;
|
|
|
@@ -30,20 +29,15 @@ use App\ProcessDaily;
|
|
|
use App\ProcessStatistic;
|
|
|
use App\RejectedBill;
|
|
|
use App\RejectedBillItem;
|
|
|
-use App\Services\CommodityService;
|
|
|
use App\Services\common\BatchUpdateService;
|
|
|
use App\Services\common\DataHandlerService;
|
|
|
use App\Services\InventoryCompareService;
|
|
|
-use App\Services\LogisticService;
|
|
|
use App\Services\LogService;
|
|
|
use App\Services\OracleDOCOrderHeaderService;
|
|
|
use App\Services\OrderIssueService;
|
|
|
-use App\Services\OrderPackageCommoditiesService;
|
|
|
use App\Services\OrderPackageService;
|
|
|
use App\Services\OrderService;
|
|
|
-use App\Services\OrderTrackingOwnerService;
|
|
|
use App\Services\OrderTrackingService;
|
|
|
-use App\Services\OwnerService;
|
|
|
use App\Unit;
|
|
|
use App\User;
|
|
|
use App\Waybill;
|
|
|
@@ -419,8 +413,11 @@ class TestController extends Controller
|
|
|
}
|
|
|
|
|
|
public function test2(){
|
|
|
- $c = Commodity::find(325434);
|
|
|
- dd($c['name']);
|
|
|
+ $depository = app('depositoryService')->firstOrCreate(["code"=>"TEST"],[
|
|
|
+ "name"=>"TEST",
|
|
|
+ "code"=>"TEST",
|
|
|
+ ]);
|
|
|
+ dd($depository);
|
|
|
}
|
|
|
|
|
|
/*1*/
|
|
|
@@ -480,206 +477,117 @@ class TestController extends Controller
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function divide()
|
|
|
- {
|
|
|
- $trackings = OrderTracking::query()->with('commodities.package')->get();
|
|
|
- $trackings->each(function ($tracking){
|
|
|
- $package = $tracking->commodities->package;
|
|
|
- $bulk = $package->bulk;
|
|
|
- if($bulk>=1000000){
|
|
|
- $bulk = bcdiv($bulk,1000000000,3);
|
|
|
- OrderPackage::query()->where('id',$package->id)->update(['bulk'=>$bulk]);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- public function test3()
|
|
|
- {
|
|
|
-//// dd(bcmul(0.3,0.3,5));
|
|
|
-// $logistic = Logistic::query()->where('code','XJWL')->first();
|
|
|
-// if(!$logistic){
|
|
|
-// Logistic::query()->create(['code'=>'XJWL','name'=>'新杰物流']);
|
|
|
-// }
|
|
|
+ public function test3(){
|
|
|
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
|
- $dataHandlerService = app(DataHandlerService::class);
|
|
|
+ $dataHandlerService = app('dataHandlerService');
|
|
|
+ $startDate = \Illuminate\Support\Carbon::parse('2020-05-06 13:16:51')->toDateTimeString();
|
|
|
/** @var OrderTrackingService $orderTrackingService */
|
|
|
$orderTrackingService = app('orderTrackingService');
|
|
|
- /** @var OrderService $orderSerivce */
|
|
|
- $orderService = app(OrderService::class);
|
|
|
- /** @var OracleDOCOrderHeaderService $orderHeaderService */
|
|
|
- $orderHeaderService = app(OracleDOCOrderHeaderService::class);
|
|
|
- /** @var OracleDOCOrderHeader $orderHeaders */
|
|
|
-// $startDate = \Illuminate\Support\Carbon::parse('2020-05-06 13:16:51')->toDateTimeString();
|
|
|
- //$orderTrackingService->trackingWmsOrder($startDate);
|
|
|
- $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
|
|
|
- $startDate = \Illuminate\Support\Carbon::parse('2020-09-25 00:00:00')->toDateTimeString();
|
|
|
-// $endData = \Illuminate\Support\Carbon::parse('2020-09-26 00:00:00')->toDateTimeString();
|
|
|
- $endData = \Illuminate\Support\Carbon::parse('2020-09-26 00:00:00')->toDateTimeString();
|
|
|
- $orderHeaders = OracleDOCOrderHeader::query()
|
|
|
- ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
|
|
|
- ->where('addTime','>=',$startDate)
|
|
|
-// ->where('addTime','<=',$endData)
|
|
|
- ->whereIn('customerID',data_get($owners,'*.code'))
|
|
|
- ->get();
|
|
|
+// $notes = '123132';
|
|
|
+//// $notes = str_replace('【','[',$notes);
|
|
|
+// if (strpos($notes, '[')) {
|
|
|
+// $arr= str_split($notes,strpos($notes,'['));
|
|
|
+// $client = $arr[0] ?? '';
|
|
|
+// $order_remark = $arr[1] ?? '';
|
|
|
+// $order_remark = str_replace(['[',']'],'',$order_remark);
|
|
|
+// }
|
|
|
|
|
|
-// $orderHeaders = app(OracleDOCOrderHeaderService::class)->getWmsOrderOnStartDateCreate($startData);
|
|
|
- $orderService->createByWmsOrder($orderHeaders);
|
|
|
- $orderTrackingService->createByWmsOrderHeader($orderHeaders);
|
|
|
- $orderService->updateByWmsOrders($orderHeaders);
|
|
|
- $orderTrackingService->updateByWmsOrderHeaders($orderHeaders);
|
|
|
+// /** @var OwnerService $ownerService */
|
|
|
+// $ownerService = app('ownerService');
|
|
|
+// $owners = $ownerService->获取订单跟踪的货主();
|
|
|
+// $ownerIds = data_get($owners, '*.code');
|
|
|
+// var_dump('query - start',Carbon::now());
|
|
|
+// OracleDOCOrderHeader::query()
|
|
|
+// ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
|
|
|
+// ->where('addtime', '>=', $startDate)
|
|
|
+// ->whereIn('customerID', $ownerIds)
|
|
|
+// ->get();
|
|
|
+//
|
|
|
+// OracleDOCOrderHeader::query()
|
|
|
+// ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
|
|
|
+// ->where('EditTime','>=',$startDate)
|
|
|
+// ->whereColumn('EditTime','<>','addtime')
|
|
|
+// ->whereIn('customerID', $ownerIds)
|
|
|
+// ->get();
|
|
|
+// var_dump('query - end',Carbon::now());
|
|
|
|
|
|
- }
|
|
|
- public function test4()
|
|
|
- {
|
|
|
|
|
|
- $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
|
|
|
- $startDate = \Illuminate\Support\Carbon::parse('2020-09-25 00:00:00')->toDateTimeString();
|
|
|
- $orderHeaders = OracleDOCOrderHeader::query()
|
|
|
- ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
|
|
|
- ->where('addTime','>=',$startDate)
|
|
|
-// ->where('addTime','<=',$endData)
|
|
|
- ->whereIn('customerID',data_get($owners,'*.code'))
|
|
|
- ->get();
|
|
|
- dd($orderHeaders);
|
|
|
+ $orderIssues = \App\OrderIssue::query()->get();
|
|
|
+ $logistic_number_returns = [];
|
|
|
+ $rejectedBills = [];
|
|
|
+ foreach ($orderIssues as $orderIssue) {
|
|
|
+ $rejectedBill = $orderIssue->hasOne(RejectedBill::class, 'id', 'rejected_bill_id')->first();
|
|
|
+ $rejectedBills[] =$rejectedBill;
|
|
|
+ $logistic_number_returns[] = $rejectedBill->logistic_number_return ?? '';
|
|
|
+// $orderIssue->update(['logistic_number_return'=>$orderIssue->rejectedBill->logistic_number_return ?? null]);
|
|
|
+ }
|
|
|
+ dd($rejectedBills,$logistic_number_returns);
|
|
|
+
|
|
|
+
|
|
|
+// $orderTrackingService->根据设置从WMS同步追踪货主的订单($startDate);
|
|
|
|
|
|
}
|
|
|
|
|
|
-// public function syncWmsOrder(){
|
|
|
-// $startDate = \Illuminate\Support\Carbon::parse('2020-09-19 00:00:00')->toDateTimeString();
|
|
|
-// /** @var OrderTrackingService $orderTrackingService */
|
|
|
-// $orderTrackingService = app('orderTrackingService');
|
|
|
-// $orderTrackingService->trackingWmsOrder($startDate);
|
|
|
-// }
|
|
|
-
|
|
|
-// public function updateOrderPackingCommodity(){
|
|
|
-// /** @var OrderTrackingService $orderTrackingService */
|
|
|
-// $orderTrackingService = app(OrderTrackingService::class);
|
|
|
-// /** @var OrderPackageCommoditiesService $orderPackageCommoditiesService */
|
|
|
-// $orderPackageCommoditiesService = app(OrderPackageCommoditiesService::class);
|
|
|
-//
|
|
|
-// $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
|
|
|
-// $orderNo = data_get($orderTrackings,'*.commodities.package.order.code');
|
|
|
-// $order_packages = OrderPackage::query()->with('order')->whereHas('order',function($query) use($orderNo){
|
|
|
-// $query->whereIn('code',$orderNo);
|
|
|
-// })->get();
|
|
|
-//
|
|
|
-// $id = data_get($order_packages,'*.id');
|
|
|
-// $list = OrderPackageCommodities::query()->whereIn('order_package_id',$id)->get();
|
|
|
-//// dd(data_get($list,'*.id'),data_get($orderTrackings,'*.id'));
|
|
|
-// $count1 = OrderPackageCommodities::destroy(data_get($list,'*.id'));
|
|
|
-// $count2 = OrderTracking::destroy(data_get($orderTrackings,'*.id'));
|
|
|
-// $orderHeaders = OracleDOCOrderHeader::query()->whereIn('orderno',$orderNo)->get();
|
|
|
-// $order_packages = app(OrderPackageService::class)->getByWmsOrders($orderHeaders);
|
|
|
-// $owners = app(OwnerService::class)->getByWmsOrders($orderHeaders);
|
|
|
-// $commodities = app(CommodityService::class)->getByWmsOrders($orderHeaders);
|
|
|
-// $owner_code_map=[];
|
|
|
-// foreach ($owners as $owner) {
|
|
|
-// $owner_code_map[$owner->code] = $owner;
|
|
|
-// }
|
|
|
-//// $orderService->createByWmsOrder($orderHeaders);
|
|
|
-// $orderPackageCommoditiesService->createByWmsOrder($orderHeaders,$order_packages,$owner_code_map,$commodities);
|
|
|
-// $orderTrackingService->createByWmsOrderHeader($orderHeaders);
|
|
|
-// }
|
|
|
-
|
|
|
-// public function orderTrckingOwnerAll(){
|
|
|
-// $owners = Owner::all();
|
|
|
-// foreach ($owners as $owner) {
|
|
|
-// $orderTrackingOwner = OrderTrackingOwner::query()->where('owner_id',$owner->id)->first();
|
|
|
-// if($orderTrackingOwner == null){
|
|
|
-// OrderTrackingOwner::query()->create(['owner_id'=>$owner->id,'status'=>'启用']);
|
|
|
-// }else{
|
|
|
-// if($orderTrackingOwner->status == '禁用'){
|
|
|
-// $orderTrackingOwner->status = '启用';
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// public function deleteOrderTraking()
|
|
|
-// {
|
|
|
-// $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
|
|
|
-// $orderNo = data_get($orderTrackings,'*.commodities.package.order.code');
|
|
|
-// $order_nos = array_unique($orderNo);
|
|
|
-// $orders = Order::query()->whereIn('code',$order_nos)->get();
|
|
|
-// $order_packages = OrderPackage::query()->with('order')->whereHas('order',function($query) use($order_nos){
|
|
|
-// $query->whereIn('code',$order_nos);
|
|
|
-// });
|
|
|
-// $order_package_commodities = OrderPackageCommodities::query()->with('package.order')->whereHas('package.order',function($query) use ($order_nos){
|
|
|
-// $query->whereIn('code',$order_nos);
|
|
|
-// })->get();
|
|
|
-// dd($order_nos,$orders->count(),$order_packages->count(),$order_package_commodities->count());
|
|
|
-// }
|
|
|
-
|
|
|
-// public function updateOrderTracking(){ // update client order_remark
|
|
|
-// $orderTrackings = OrderTracking::query()
|
|
|
-// ->with('commodities.package.order')
|
|
|
-// ->get();
|
|
|
-// $orderNos = [];
|
|
|
-// $order_tracking = [];
|
|
|
-// foreach ($orderTrackings as $orderTracking) {
|
|
|
-// $order = $orderTracking->commodities->package->order ?? '';
|
|
|
-// $orderNos[] = $order->code;
|
|
|
-// $order_tracking[$order->code][] = $orderTracking;
|
|
|
-// }
|
|
|
-// $orderHeaders = OracleDOCOrderHeader::query()
|
|
|
-// ->whereIn('orderNo',$orderNos)
|
|
|
-// ->get();
|
|
|
-//
|
|
|
-// $fillables = [['id','client','order_remark']];
|
|
|
-// foreach ($orderHeaders as $orderHeader) {
|
|
|
-// $orderTracking_list = $order_tracking[$orderHeader->orderno];
|
|
|
-// $notes = $orderHeader['notes'];
|
|
|
-//// $notes = str_replace('【','[',$notes);
|
|
|
-// $client = null;
|
|
|
-// $order_remark = null;
|
|
|
-// if (strpos($notes, '[')) {
|
|
|
-// $arr= str_split($notes,strpos($notes,'['));
|
|
|
-// $client = $arr[0] ?? '';
|
|
|
-// $order_remark = $arr[1] ?? '';
|
|
|
-// $order_remark = str_replace(['[',']'],'',$order_remark);
|
|
|
-// }
|
|
|
-//
|
|
|
-// foreach ($orderTracking_list as $item) {
|
|
|
-// $fillables[] = [
|
|
|
-// 'id' => $item->id,
|
|
|
-// 'client' => $client,
|
|
|
-// 'order_remark' => $order_remark
|
|
|
-// ];
|
|
|
-// }
|
|
|
-// }
|
|
|
-// /** @var BatchUpdateService $batchUpdateService */
|
|
|
-// $batchUpdateService = app('batchUpdateService');
|
|
|
-// $batchUpdateService->batchUpdate('order_trackings',$fillables);
|
|
|
-// }
|
|
|
-
|
|
|
- public function updateOrderTrackingLogistic(){
|
|
|
- $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
|
|
|
- $order_nos = data_get($orderTrackings,'*.commodities.package.order.code');
|
|
|
- $order_nos = array_unique($order_nos);
|
|
|
- $orders = Order::query()->whereIn('code',$order_nos)->get();
|
|
|
- foreach ($orders as $order) {
|
|
|
- $orderHeader = OracleDOCOrderHeader::query()->where('OrderNo',$order->code)->first();
|
|
|
- $logistic =Logistic::query()->where('code',$orderHeader->userdefine1)->first();
|
|
|
- if($order->logistic_id == 61)continue;
|
|
|
- if($order->logistic_id !== $logistic->id){
|
|
|
- Order::query()->where('id',$order->id)->update(['logistic_id'=>$logistic->id]);
|
|
|
- dd($order->logistic_id,$logistic->id,$order);
|
|
|
+ public function doctype(){
|
|
|
+
|
|
|
+ $a=\Doctrine\DBAL\Types\Type::getTypesMap();
|
|
|
+ dd($a);
|
|
|
+ }
|
|
|
+ public function orderTrckingOwnerAll(){
|
|
|
+ $owners = Owner::all();
|
|
|
+ foreach ($owners as $owner) {
|
|
|
+ $orderTrackingOwner = OrderTrackingOwner::query()->where('owner_id',$owner->id)->first();
|
|
|
+ if($orderTrackingOwner == null){
|
|
|
+ OrderTrackingOwner::query()->create(['owner_id'=>$owner->id,'status'=>'启用']);
|
|
|
+ }else{
|
|
|
+ if($orderTrackingOwner->status == '禁用'){
|
|
|
+ $orderTrackingOwner->status = '启用';
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function updateOrderTracking(){
|
|
|
- $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
|
|
|
+ $orderTrackings = OrderTracking::query()
|
|
|
+ ->with('commodities.package.order')
|
|
|
+ ->get();
|
|
|
+ $orderNos = [];
|
|
|
+ $order_tracking = [];
|
|
|
foreach ($orderTrackings as $orderTracking) {
|
|
|
- if(!$orderTracking->web_order_number){
|
|
|
- $order = $orderTracking->commodities->package->order;
|
|
|
- $client_code = $order->client_code;
|
|
|
- if(preg_match('/^O[\d]/',$client_code ?? '') > 0){
|
|
|
- OrderTracking::query()->where('id',$orderTracking->id)->update(['web_order_number'=>$client_code]);
|
|
|
- }
|
|
|
+ $order = $orderTracking->commodities->package->order ?? '';
|
|
|
+ $orderNos[] = $order->code;
|
|
|
+ $order_tracking[$order->code][] = $orderTracking;
|
|
|
+ }
|
|
|
+ $orderHeaders = OracleDOCOrderHeader::query()
|
|
|
+ ->whereIn('orderNo',$orderNos)
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ $fillables = [['id','client','order_remark']];
|
|
|
+ foreach ($orderHeaders as $orderHeader) {
|
|
|
+ $orderTracking_list = $order_tracking[$orderHeader->orderno];
|
|
|
+ $notes = $orderHeader['notes'];
|
|
|
+// $notes = str_replace('【','[',$notes);
|
|
|
+ $client = null;
|
|
|
+ $order_remark = null;
|
|
|
+ if (strpos($notes, '[')) {
|
|
|
+ $arr= str_split($notes,strpos($notes,'['));
|
|
|
+ $client = $arr[0] ?? '';
|
|
|
+ $order_remark = $arr[1] ?? '';
|
|
|
+ $order_remark = str_replace(['[',']'],'',$order_remark);
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach ($orderTracking_list as $item) {
|
|
|
+ $fillables[] = [
|
|
|
+ 'id' => $item->id,
|
|
|
+ 'client' => $client,
|
|
|
+ 'order_remark' => $order_remark
|
|
|
+ ];
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ /** @var BatchUpdateService $batchUpdateService */
|
|
|
+ $batchUpdateService = app('batchUpdateService');
|
|
|
+ $batchUpdateService->batchUpdate('order_trackings',$fillables);
|
|
|
|
|
|
+ }
|
|
|
}
|