TestController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Components\ErrorPush;
  5. use App\ErrorTemp;
  6. use App\Feature;
  7. use App\Jobs\OrderCreateWaybill;
  8. use App\MaterialBox;
  9. use App\MaterialBoxModel;
  10. use App\Order;
  11. use App\Owner;
  12. use App\OwnerFeeDetail;
  13. use App\OwnerPriceOperation;
  14. use App\OrderPackageCountingRecord;
  15. use App\RejectedBill;
  16. use App\Services\ForeignHaiRoboticsService;
  17. use App\Services\StationService;
  18. use App\Services\StorageService;
  19. use App\Station;
  20. use App\StationTask;
  21. use App\StationTaskMaterialBox;
  22. use App\TaskTransaction;
  23. use App\Unit;
  24. use App\Waybill;
  25. use Carbon\Carbon;
  26. use Carbon\CarbonPeriod;
  27. use Illuminate\Database\Eloquent\Collection;
  28. use Illuminate\Http\Request;
  29. use Illuminate\Support\Facades\Cache;
  30. use Illuminate\Support\Facades\Auth;
  31. use Illuminate\Support\Facades\Cookie;
  32. use Illuminate\Support\Facades\DB;
  33. use Illuminate\Support\Facades\Http;
  34. class TestController extends Controller
  35. {
  36. use AsyncResponse,ErrorPush;
  37. const ASNREFERENCE_2 = 'ASNREFERENCE2';
  38. private $data = [];
  39. public function __construct()
  40. {
  41. $this->data["active_test"] = "active";
  42. }
  43. public function method(Request $request, $method)
  44. {
  45. return call_user_func([$this, $method], $request);
  46. }
  47. public function lightUp()
  48. {
  49. app("CacheShelfService")->lightUp('HAIB1-02-02','3','0');
  50. }
  51. public function lightOff()
  52. {
  53. $params = [
  54. "areaCode" => "1004",
  55. 'locCode' => "HAIB1-02-02",
  56. 'PTLAction' => 0,
  57. ];
  58. $response = Http::post(config('api.haiq.storage.light'), $params);
  59. return json_decode($response->body());
  60. }
  61. private $key = "CACHE_SHELF_AVAILABLE";
  62. public function test()
  63. {
  64. $s = new StationService();
  65. dd($s->getCacheShelf(true,true));
  66. }
  67. //快递称重 生成历史数据
  68. public function addRecord(Request $request)
  69. {
  70. $start = Carbon::parse(request("month"))->startOfMonth();
  71. $end = Carbon::parse(request('month'))->endOfMonth();
  72. foreach (CarbonPeriod::create($start,$end) as $date){
  73. /** @var $date Carbon */
  74. $yesterday = $date->format("Y-m-d");
  75. $sql = <<<sql
  76. SELECT DATE_FORMAT(order_packages.created_at,'%Y-%m-%d') date,IFNULL(order_packages.measuring_machine_id,0) measuring_machine_id,order_packages.owner_id,
  77. SUM(CASE WHEN order_packages.weighed_at IS NOT NULL THEN 1 ELSE 0 END) AS count,
  78. COUNT(1) total FROM order_packages LEFT JOIN orders ON order_packages.order_id=orders.id
  79. WHERE orders.wms_status != '订单取消'
  80. AND order_packages.created_at BETWEEN '{$yesterday} 00:00:00' AND '{$yesterday} 23:59:59' GROUP BY date,order_packages.measuring_machine_id,order_packages.owner_id
  81. sql;
  82. $result = DB::select(DB::raw($sql));
  83. if (!$result) {
  84. $obj = [
  85. "targeted_at" => $yesterday,
  86. "un_weigh_count" => 0,
  87. "total_count" => 0,
  88. "measuring_machine_id" => 0,
  89. "owner_id" => 0
  90. ];
  91. $model = OrderPackageCountingRecord::query()->create($obj);
  92. Cache::put("weight.".$yesterday, $obj);
  93. }else{
  94. $objs = [];
  95. foreach ($result as $v){
  96. $obj = [
  97. "targeted_at" => $v->date,
  98. "un_weigh_count" => $v->count,
  99. "total_count" => $v->total,
  100. "measuring_machine_id" => $v->measuring_machine_id,
  101. "owner_id" => $v->owner_id
  102. ];
  103. $model = OrderPackageCountingRecord::query()->create($obj);
  104. array_push($objs, $obj);
  105. }
  106. Cache::put("weight.".$yesterday, $objs);
  107. }
  108. }
  109. }
  110. public function redis()
  111. {
  112. $start = 1606752000;$end = 1627747200;
  113. $len = ($end - $start) / 86400;
  114. for ($i=0; $i <= $len ; $i ++){
  115. $date = date("Y-m-d", $start + $i * 86400);
  116. Cache::pull('weight.'.$date);
  117. }
  118. }
  119. }