TestController.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Authority;
  4. use App\Batch;
  5. use App\City;
  6. use App\Events\CancelOrder;
  7. use App\Events\WmsReceiveNewEvent;
  8. use App\Http\Controllers\Api\thirdPart\flux\WaybillController;
  9. use App\Logistic;
  10. use App\OracleActTransactionLog;
  11. use App\Order;
  12. use App\Owner;
  13. use App\Package;
  14. use App\Rejected;
  15. use App\RejectedBill;
  16. use App\RejectedBillItem;
  17. use App\Unit;
  18. use App\User;
  19. use App\UserToken;
  20. use App\UserWorkgroup;
  21. use App\Waybill;
  22. use App\OraccleBasCustomer;
  23. use App\WMSReflectReceive;
  24. use Carbon\Carbon;
  25. use Endroid\QrCode\QrCode;
  26. use Endroid\QrCode\Response\QrCodeResponse;
  27. use Illuminate\Database\Query\JoinClause;
  28. use Illuminate\Http\Request;
  29. use Illuminate\Support\Facades\DB;
  30. use function PHPSTORM_META\map;
  31. use Zttp\Zttp;
  32. class TestController extends Controller
  33. {
  34. private $data=[];
  35. public function __construct()
  36. {
  37. $this->data["active_test"]="active";
  38. }
  39. public function method(Request $request,$method)
  40. {
  41. return call_user_func([$this, $method],$request);
  42. }
  43. function t1(Request $request){ //x $packagesBatch=Package::where('batch_number',$batch_number)->first();
  44. $waybills=Waybill::all();
  45. $controller=(new WaybillController());
  46. $waybills->each(function ($waybill)use($controller){
  47. $controller->accomplishToWMS($waybill);
  48. });
  49. }
  50. function tj(Request $request){
  51. $a=11;
  52. try{
  53. $b=22;
  54. }catch (\Exception $exception){
  55. $this->log(__METHOD__,'Exception_'.__FUNCTION__,'请求异常:'.$exception->getMessage(),null);
  56. return ['result'=>'false'];
  57. }
  58. echo $a+$b;
  59. }
  60. function injectJS(Request $request){
  61. $items=RejectedBillItem::whereHas('rejectedBill',function($query){
  62. return $query->where('id_owner',2);
  63. })->where('created_at','>','2019-12-23 18:11:00')->where('created_at','<','2019-12-24 11:25:00')->get();
  64. (new RejectedBillItemController())->collectionsToPackConfirm($items);
  65. }
  66. public function tj2(Request $request)
  67. {
  68. $rejected = Rejected::find(10);
  69. $rejectedJianshang=new \App\Http\Controllers\api\jianshang\RejectedController();
  70. dd( $rejectedJianshang->sendRejected($rejected));
  71. }
  72. public function excelIt()
  73. {
  74. $excel=new ExcelController();
  75. return $excel->makeExcel();
  76. }
  77. public function featureIt()
  78. {
  79. LogisticNumberFeatureController::loadRecentRejectedsToFeatures(5,2500);
  80. }
  81. public function newSku()
  82. {
  83. $url='http://bswcs/api/sorting/flux/newSku';
  84. $response = Zttp::post($url, [
  85. 'request'=>[
  86. [
  87. "SKU"=> "1234567890",
  88. "NAME"=> "瑞士莲**巧克力",
  89. "Alternate_SKU1"=> "1122334455",
  90. "GrossWeight"=> "1.2",
  91. "Cube"=> "0.75",
  92. "SKULength"=> "0.25",
  93. "SKUWidth"=> "0.15",
  94. "SKUHigh"=> "0.05"
  95. ],
  96. [
  97. "SKU"=> "1234567892",
  98. "NAME"=> "跳跳饼",
  99. "Alternate_SKU1"=> "",
  100. "GrossWeight"=> "1.3",
  101. "Cube"=> "0.75",
  102. "SKULength"=> "0.25",
  103. "SKUWidth"=> "0.15",
  104. "SKUHigh"=> "0.25"
  105. ],
  106. ]
  107. ]);
  108. return $response->json();
  109. }
  110. public function changePackage(){
  111. $packages=Package::where('delivery_number','<>',null)->where('logistic_id',null)->get();
  112. dd($packages);
  113. $packages=Package::whereRaw('delivery_number IS NOT NULL AND logistic_id IS NULL')->get();
  114. $logistics=Logistic::get();
  115. $packages->each(function ($package)use($logistics){
  116. $logistics->each(function ($logistic)use($package){
  117. if ($package->WMSReflectPackage->CarrierID==$logistic->code){
  118. $package->logistic_id=$logistic->id;
  119. return;
  120. }
  121. });
  122. });
  123. return "OK";
  124. }
  125. public function tNull(){
  126. }
  127. public function deletePackageAuthority()
  128. {
  129. $authorities=Authority::where('name','like','%包裹信息%')->get();
  130. $authorities->each(function ($authority){
  131. $authority->delete();
  132. });
  133. }
  134. public function test1(){
  135. Owner::update([["id"=>18,"code"=>"test1"],["id"=>17,"code"=>"test2"]]);
  136. }
  137. public function test3()
  138. {
  139. $strs=["auibh","aopk","bikon"];
  140. if (!$strs[0])return "";
  141. $len=strlen($strs[0]);
  142. for ($i=1;$i<count($strs);$i++){
  143. if ($len<1)break;
  144. for ($j=0;$j<$len;$j++){
  145. if ($strs[$i][$j]!=$strs[0][$j]){
  146. if ($j==0)return "";
  147. break;
  148. }
  149. $sum=$j+1;
  150. }
  151. $len=isset($sum)?$sum:0;
  152. }
  153. return substr($strs[0],0,$len);
  154. }
  155. public function test4(){
  156. $s="{([{()()[]{}}])[{()()[}]{}}](){[]}";
  157. $map = [
  158. ")" => "(",
  159. "}" => "{",
  160. "]" => "[",
  161. ];
  162. $len = strlen($s);
  163. $stack = [];
  164. if ($len%2!=0)dd(false);
  165. //s中出现map的key则弹出,没有出现则入栈
  166. for ($i =0; $i<$len; $i++) {
  167. var_dump("data:".$s[$i]);
  168. if (isset($map[$s[$i]])){
  169. //s中出现map的key:如果能找到对应的map的值 (,{,[ 则说明有配对,则弹出
  170. if (isset($stack) && $stack[0] == $map[$s[$i]]) {
  171. array_shift($stack);
  172. } else { //仅找到后面的一部分,说明是不匹配的
  173. dd(false);
  174. }
  175. var_dump("value1:".$map[$s[$i]]);
  176. var_dump($stack);
  177. } else {
  178. array_unshift($stack, $s[$i]);
  179. var_dump("value2:".$s[$i]);
  180. var_dump($stack);
  181. }
  182. }
  183. if (count($stack) > 0) {
  184. dd(false);
  185. }
  186. dd(true);
  187. //利用栈的先进后出 一个正确的括号组对应都为1对1或N对N
  188. // 先进后出“([{”入栈,")]}"出栈,轮询到出栈元素去映射栈顶,符合出栈,不符合直接返回
  189. //依次轮询 如果映射正确那么最后栈为空栈 否则返回false
  190. }
  191. }