TestController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Components\Database;
  5. use App\Components\ErrorPush;
  6. use App\MaterialBox;
  7. use App\MaterialBoxModel;
  8. use App\Order;
  9. use App\OrderDetail;
  10. use App\OrderIssue;
  11. use App\OrderIssueRejectedBill;
  12. use App\RejectedBill;
  13. use App\Services\common\BatchUpdateService;
  14. use App\Services\OrderRejectedBillRelationService;
  15. use App\Services\OrderRejectingStatusService;
  16. use App\Services\RejectedService;
  17. use App\Services\WaybillService;
  18. use App\User;
  19. use App\Waybill;
  20. use App\WorkOrder;
  21. use Illuminate\Database\Capsule\Manager;
  22. use Illuminate\Database\DatabaseManager;
  23. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  24. use Illuminate\Http\Request;
  25. use Illuminate\Support\Facades\Cache;
  26. use Illuminate\Support\Facades\DB;
  27. use Illuminate\Support\Facades\Hash;
  28. use Illuminate\Support\Facades\Log;
  29. use Oursdreams\Export\Export;
  30. use Workerman\Worker;
  31. class TestController extends Controller
  32. {
  33. use AsyncResponse, ErrorPush, Database;
  34. const ASNREFERENCE_2 = 'ASNREFERENCE2';
  35. public function __construct()
  36. {
  37. $this->data["active_test"] = "active";
  38. }
  39. public function method(Request $request, $method)
  40. {
  41. try {
  42. return call_user_func([$this, $method], $request);
  43. }catch (\BadMethodCallException $e){
  44. dd("方法不存在");
  45. }
  46. }
  47. public function test(Request $request){
  48. dd(array_filter(array_unique(preg_split('/[,, ]+/u', "125,456,888, 6 , ,"))));
  49. }
  50. public function testOrder()
  51. {
  52. /** @var OrderRejectedBillRelationService $service */
  53. $service = app('OrderRejectedBillRelationService');
  54. $service->orderSyncRejectedBill(Order::query()->find(12));
  55. }
  56. public function testRejectedBill()
  57. {
  58. /** @var OrderRejectedBillRelationService $service */
  59. $service = app(OrderRejectedBillRelationService::class);
  60. /** @var RejectedBill $item */
  61. $item = RejectedBill::query()->find(2);
  62. $service->rejectedBillSyncOrder($item);
  63. }
  64. public function getOrder()
  65. {
  66. $query = Order::query()->select('id')->where('client_code','22011700000161');
  67. dd(OrderDetail::query()->whereIn('order_id',$query)->get());
  68. }
  69. public function sync_order_issue()
  70. {
  71. $items = OrderIssueRejectedBill::query()->with('orderIssue')->get();
  72. $item_array = $items->chunk(500);
  73. foreach ($item_array as $items){
  74. $insert_params = [];
  75. $update_params = [['logistic_number_return','order_id']];
  76. foreach ($items as $item){
  77. if (!$item->orderIssue) continue;
  78. $insert_params[$item->orderIssue->order_id] = [
  79. 'order_id' => $item->orderIssue->order_id,
  80. 'is_new_rejecting' => $item->orderIssue->is_new_rejecting,
  81. 'rejecting_status' => $item->orderIssue->rejecting_status
  82. ];
  83. $update_params[] = ['logistic_number_return' => $item->logistic_number_return,'order_id' => $item->orderIssue->order_id];
  84. }
  85. $this->batchOrderIssueRejectedBIll($update_params);
  86. $items = OrderDetail::query()->whereIn('order_id',array_keys($insert_params))->get()->map(function($item){
  87. return $item->order_id;
  88. })->toArray();
  89. $insert_params = array_filter($insert_params,function($item)use($items){
  90. return !in_array($item['order_id'],$items) && !is_null($item['order_id']);
  91. });
  92. if (count($insert_params) == 0) continue;
  93. OrderDetail::query()->insert(array_values($insert_params));
  94. }
  95. }
  96. public function batchOrderIssueRejectedBIll($array)
  97. {
  98. /** @var BatchUpdateService $service */
  99. $service = app(BatchUpdateService::class);
  100. $service->batchUpdate('order_issue_rejected_bill',$array);
  101. }
  102. public function testQuery()
  103. {
  104. /** @var WorkOrder $item */
  105. $item = WorkOrder::query()->with('orderIssueRejectedBills')->find(9);
  106. $item->orderIssueRejectedBills()->where('logistic_number_return','75810638245215')->delete();
  107. dd($item);
  108. }
  109. }