TestController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Batch;
  4. use App\CommodityBarcode;
  5. use App\Components\AsyncResponse;
  6. use App\Components\Database;
  7. use App\Components\ErrorPush;
  8. use App\Exceptions\Exception;
  9. use App\OracleDOCWaveDetails;
  10. use App\Order;
  11. use App\OrderBin;
  12. use App\OrderCommodity;
  13. use App\Rejected;
  14. use App\RejectedBill;
  15. use App\RejectedBillItem;
  16. use App\Services\LogService;
  17. use App\Services\OracleDOCOrderHeaderService;
  18. use App\Services\OrderCommodityService;
  19. use App\Services\OrderService;
  20. use App\Services\WaveService;
  21. use App\Services\WaybillService;
  22. use App\SortingStation;
  23. use App\User;
  24. use App\UserToken;
  25. use App\Waybill;
  26. use Illuminate\Database\Eloquent\Collection;
  27. use Illuminate\Http\Request;
  28. use Illuminate\Support\Facades\Auth;
  29. use Illuminate\Support\Facades\DB;
  30. use Illuminate\Support\Facades\Hash;
  31. use Illuminate\Support\Facades\Http;
  32. use Illuminate\Support\Str;
  33. use Zttp\Zttp;
  34. class TestController extends Controller
  35. {
  36. use AsyncResponse, ErrorPush, Database;
  37. const ASNREFERENCE_2 = 'ASNREFERENCE2';
  38. public function __construct()
  39. {
  40. $this->data["active_test"] = "active";
  41. }
  42. public function method(Request $request, $method)
  43. {
  44. try {
  45. return call_user_func([$this, $method], $request);
  46. }catch (\BadMethodCallException $e){
  47. dd("方法不存在");
  48. }
  49. }
  50. public function a1(){
  51. dd(phpinfo());
  52. dd(DB::table('BAS_CODES')->select('code', 'codename_c')->where('codeid', 'SO_STS')->orderBy('code', 'asc')->sql());
  53. $response = Http::post("https://api.baoshi56.com/api/flux/getList", [
  54. "sql" => "SELECT * FROM BAS_CODES WHERE CODEID = 'ABC'"
  55. ]);
  56. dd(json_decode($response->body(), true)->data);
  57. }
  58. public function test(Request $request)
  59. {
  60. dd(Hash::make("zhao123456"));
  61. }
  62. public function syncOrder($code)
  63. {
  64. $orderHeaders = app(OracleDOCOrderHeaderService::class)->getQuery()->where('DOC_Order_Header.WaveNo',$code)->get();
  65. app(OrderService::class)->syncOrderByWMSOrderHeaders($orderHeaders);
  66. app(OrderCommodityService::class)->syncOrderCommodity($orderHeaders);
  67. $this->syncOrderBin($code);
  68. }
  69. public function syncOrderBin($code)
  70. {
  71. $wave = DB::connection("oracle")->selectOne(DB::raw("select * from DOC_WAVE_HEADER where WAVENO = ?"), [$code]);
  72. if (!$wave) return;
  73. $owner = app("OwnerService")->codeGetOwner($wave->customerid);
  74. $obj = [
  75. "wms_status" => $this->wms_status($wave),
  76. "wms_type" => $wave->descr,
  77. "created_at" => date("Y-m-d H:i:s"),
  78. "wms_created_at" => $wave->addtime,
  79. "updated_at" => $wave->edittime,
  80. "owner_id" => $owner->id,
  81. ];
  82. $batch = Batch::query()->where("code", $code)->first();
  83. if (!$batch) {
  84. $obj["code"] = $code;
  85. $batch = Batch::query()->create($obj);
  86. } else {
  87. Batch::query()->where("code", $code)->update($obj);
  88. }
  89. $order_nos = array_column(DB::connection("oracle")->select(DB::raw("select orderno from DOC_WAVE_DETAILS where WAVENO = ?"), [$code]), "orderno");
  90. Order::query()->whereIn("code", $order_nos)->update(["batch_id" => $batch->id]);
  91. Order::query()->with(["batch", "bin"])->whereIn("code", $order_nos)->get()->each(function ($order) {
  92. if (!$order->bin) {
  93. $bin = DB::connection("oracle")->selectOne(DB::raw("select seqno from DOC_WAVE_DETAILS where waveno = ? and orderno = ?"), [$order->batch->code, $order->code]);
  94. if ($bin) {
  95. OrderBin::query()->create([
  96. 'order_id' => $order->id,
  97. 'number' => $bin->seqno,
  98. ]);
  99. }
  100. }
  101. });
  102. }
  103. }