PackageController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace App\Http\Controllers\Api\thirdPart\flux;
  3. use App\Batch;
  4. use App\Http\Controllers\Controller;
  5. use App\Order;
  6. use App\OrderBarcode;
  7. use App\SkuNew;
  8. use App\WMSReflectPackage;
  9. use App\WMSReflectReceive;
  10. use App\WMSReflectReceiveSku;
  11. use Illuminate\Http\Request;
  12. use Illuminate\Support\Facades\Auth;
  13. use Illuminate\Support\Facades\Validator;
  14. use Zttp\Zttp;
  15. class PackageController extends Controller
  16. {
  17. public function new_(Request $request)
  18. {
  19. $errors=$this->validatorForNew($request->all())->errors();
  20. if(count($errors)>0){
  21. return ['response'=>['flag'=>'W','message'=>'fields wrong, see Errors report please.',
  22. 'errors'=>$errors]];
  23. }
  24. $receiveInputs=$request->input('request');
  25. $receive = new WMSReflectPackage($receiveInputs);
  26. $receive->save();
  27. return response()->json(['response'=>['flag'=>'Y','code'=>'0000','message'=>'正确接收']])
  28. ->setEncodingOptions(JSON_UNESCAPED_UNICODE);
  29. }
  30. protected function validatorForNew(array $data)
  31. {
  32. return Validator::make($data, [
  33. 'request' => ['required', 'array', 'min:1'],
  34. 'request.TASKID' => ['required', 'string', 'max:191'],
  35. 'request.Orderno' => ['required', 'string', 'max:191'],
  36. 'request.palletid' => ['required', 'string', 'max:191'],
  37. 'request.SOReference5' => ['required', 'string', 'max:191'],
  38. 'request.Customer' => ['nullable', 'string', 'max:191'],
  39. 'request.Consigneename' => ['nullable', 'string', 'max:191'],
  40. 'request.CarrierID' => ['nullable', 'string', 'max:191'],
  41. 'request.USERDEFINE1' => ['nullable', 'string', 'max:191'],
  42. 'request.USERDEFINE2' => ['nullable', 'string', 'max:191'],
  43. 'request.USERDEFINE3' => ['nullable', 'string', 'max:191'],
  44. ],[],[
  45. 'request.TASKID' => 'TASKID',
  46. 'request.USERDEFINE1' => 'USERDEFINE1',
  47. 'request.USERDEFINE2' => 'USERDEFINE2',
  48. 'request.USERDEFINE3' => 'USERDEFINE3',
  49. ]);
  50. }
  51. /**
  52. * 完成的包裹称量发送给WMS
  53. */
  54. public function accomplishToWMS()
  55. {
  56. $json='
  57. {
  58. "request":
  59. {
  60. "TASKID": "TS000001",
  61. "SOReference5": "806086633425772945",
  62. "Weigh": "50",
  63. "Package": "bz0987651234",
  64. "USERDEFINE1": "",
  65. "USERDEFINE2": "",
  66. "USERDEFINE3": "",
  67. }
  68. }
  69. ';
  70. $json = json_decode($json,true);
  71. $url=url(config('api.accomplishToWMS_flux'));
  72. $response = Zttp::post($url, $json);
  73. $noIssues=true;
  74. $json = json_encode($response->body());
  75. if(!$json||!isset($json['response'])||!$json['response']['flag']=='Y'){
  76. $noIssues=false;
  77. }
  78. if($noIssues&&$json['response']['flag']=='Y'){
  79. return ['result'=>'success'];
  80. }
  81. return $this->apiError(__METHOD__,$response->body());
  82. }
  83. }