|
|
@@ -6,7 +6,7 @@ use App\Events\WeighedEvent;
|
|
|
use App\Http\Controllers\Controller;
|
|
|
use App\Http\Controllers\LogisticNumberFeatureController;
|
|
|
use App\Jobs\MeasuringMachineQueue;
|
|
|
-use App\Jobs\MarkPackageExcepted;
|
|
|
+use App\Jobs\FetchPackageFromOracle;
|
|
|
use App\MeasuringMachine;
|
|
|
use App\Package;
|
|
|
use App\Waybill;
|
|
|
@@ -185,56 +185,35 @@ class PackageController extends Controller
|
|
|
rsort($edges);
|
|
|
$fluxController=new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
|
|
|
if ($package){
|
|
|
- $packageController=new \App\Http\Controllers\PackageController();
|
|
|
$package->fetchPaperBox($edges[0],$edges[1],$edges[2]);
|
|
|
$package['bulk']=$edges[0]*$edges[1]*$edges[2];
|
|
|
- //处理活动波次
|
|
|
- if ($package->isActivityBatch()){
|
|
|
+ $package['measuring_machine_id']=$measuringMachine->id;
|
|
|
+ $package['weight']=$request['weight'];
|
|
|
+ $package['length']=$edges[0];
|
|
|
+ $package['width']=$edges[1];
|
|
|
+ $package['height']=$edges[2];
|
|
|
+ $package['weighed_at']=$reqDate;
|
|
|
+ if ($package->isActivityBatch()){//处理活动波次
|
|
|
+ $this->log(__METHOD__,__FUNCTION__,"依波次号同步所有包裹:".json_encode($package),null);
|
|
|
$package->unifyThisMeasureUnderBatch();
|
|
|
$result=$fluxController->markWMSOnBatch($package['batch_number'], $request['weight']);
|
|
|
- $packageController->syncBatch($package->batch_number,$request['weight'],$max,$centre,$min,$reqDate,$package['paper_box_id']);
|
|
|
- }else{
|
|
|
- $package->measuring_machine_id=$measuringMachine->id;
|
|
|
- $package->weight=$request['weight'];
|
|
|
- $package->length=$max;
|
|
|
- $package->width=$centre;
|
|
|
- $package->height=$min;
|
|
|
- $package->bulk=$max*$centre*$min;
|
|
|
- $package->weighed_at=$reqDate;
|
|
|
- $package->status="未上传";
|
|
|
- $this->log(__METHOD__,'Batch_'.__FUNCTION__,json_encode($package),null);
|
|
|
- $package->save();
|
|
|
- $result=$fluxController->accomplishToWMS($package);
|
|
|
- if ($result['result']){
|
|
|
- if ($package->status=="记录异常")$package->status="已上传异常";
|
|
|
- else $package->status="已上传";
|
|
|
- }else{
|
|
|
+ if(!$result['result']){
|
|
|
$package->status="上传异常";
|
|
|
}
|
|
|
- $package->save();
|
|
|
- }
|
|
|
- if ($package->order_code){
|
|
|
- $waybill=Waybill::where('wms_bill_number',$package->order_code)->where('status','!=','已完结')
|
|
|
- ->where('status','!=','无模型')->first();
|
|
|
- if ($waybill){
|
|
|
- $waybill->warehouse_weight_other=$package->weight;
|
|
|
- $waybill->warehouse_weight_unit_id_other=1;
|
|
|
- $waybill->update();
|
|
|
+ }else{
|
|
|
+ $this->log(__METHOD__,__FUNCTION__,"写入包裹至WMS:".json_encode($package),null);
|
|
|
+ try{
|
|
|
+ $result=$fluxController->accomplishToWMS($package);
|
|
|
+ if ($result['result']){
|
|
|
+ $package->status="已上传";
|
|
|
+ }else{
|
|
|
+ $package->status="上传异常";
|
|
|
+ }
|
|
|
+ }catch (\Exception $e){
|
|
|
+ $package->status="未上传";
|
|
|
}
|
|
|
+ $package->save();
|
|
|
}
|
|
|
- event(new WeighedEvent($package));
|
|
|
- $response=["msg"=>"保存成功",
|
|
|
- "code"=>200,
|
|
|
- "data"=>true,
|
|
|
- "serverMsg"=>null,
|
|
|
- "requestor"=>[
|
|
|
- "requestor"=>"1",
|
|
|
- "eventCode"=>"0",
|
|
|
- "reqDate"=>$reqDate,
|
|
|
- "resDate"=>Carbon::now()]
|
|
|
- ];
|
|
|
- $this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'|'.json_encode($response),null);
|
|
|
- return json_encode($response,JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
|
if (!$package){
|
|
|
$logisticNumber=$request['barcode'];
|
|
|
@@ -243,44 +222,43 @@ class PackageController extends Controller
|
|
|
'delivery_number'=>$logisticNumber,
|
|
|
'measuring_machine_id'=>$measuringMachine->id,
|
|
|
'weight'=>$request['weight'],
|
|
|
- 'length'=>$max,
|
|
|
- 'width'=>$centre,
|
|
|
- 'height'=>$min,
|
|
|
- 'bulk'=>$max*$centre*$min,
|
|
|
+ 'length'=>$edges[0],
|
|
|
+ 'width'=>$edges[1],
|
|
|
+ 'height'=>$edges[2],
|
|
|
+ 'bulk'=>$edges[0]*$edges[1]*$edges[2],
|
|
|
'weighed_at'=>$reqDate,
|
|
|
- 'status'=>"未下发",
|
|
|
+ 'status'=>"无",
|
|
|
]);
|
|
|
$createPackage->fetchAllFromOracle();
|
|
|
- $createPackage->fetchPaperBox($max, $centre, $min);
|
|
|
+ $createPackage->fetchPaperBox($edges[0], $edges[1], $edges[2]);
|
|
|
$result=$fluxController->accomplishToWMS($createPackage);
|
|
|
+ if(!$createPackage['batch_number'])
|
|
|
+ FetchPackageFromOracle::dispatch($createPackage)->delay(Carbon::now()->addMinutes(1440));
|
|
|
if(!$result['result']){
|
|
|
$this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($createPackage),null);
|
|
|
$response=["msg"=>"写入WMS失败!","code"=>500,"data"=>null];
|
|
|
return json_encode($response,JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
|
- if ($createPackage->save()){
|
|
|
- $measuringMachine->touch();
|
|
|
- MeasuringMachineQueue::dispatch($measuringMachine)->delay(Carbon::now()->addMinutes(30));
|
|
|
- MarkPackageExcepted::dispatch($createPackage)->delay(Carbon::now()->addMinutes(1440));
|
|
|
- event(new WeighedEvent($createPackage));
|
|
|
- $response=["msg"=>"保存成功",
|
|
|
- "code"=>200,
|
|
|
- "data"=>true,
|
|
|
- "serverMsg"=>null,
|
|
|
- "requestor"=>[
|
|
|
- "requestor"=>"1",
|
|
|
- "eventCode"=>"0",
|
|
|
- "reqDate"=>$reqDate,
|
|
|
- "resDate"=>Carbon::now()]
|
|
|
- ];
|
|
|
- $this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
|
|
|
+ if(!$createPackage->save()){
|
|
|
+ $response=["msg"=>"保存时发生错误(未下发)!","code"=>500,"data"=>null];
|
|
|
+ $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
|
|
|
return json_encode($response,JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
|
-
|
|
|
- $response=["msg"=>"保存时发生错误(未下发)!","code"=>500,"data"=>null];
|
|
|
- $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
|
|
|
- return json_encode($response,JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
|
+ Waybill::setWeightByOrderCode($package->order_code,$package->weight);
|
|
|
+ event(new WeighedEvent($createPackage));
|
|
|
+ $response=["msg"=>"保存成功",
|
|
|
+ "code"=>200,
|
|
|
+ "data"=>true,
|
|
|
+ "serverMsg"=>null,
|
|
|
+ "requestor"=>[
|
|
|
+ "requestor"=>"1",
|
|
|
+ "eventCode"=>"0",
|
|
|
+ "reqDate"=>$reqDate,
|
|
|
+ "resDate"=>Carbon::now()]
|
|
|
+ ];
|
|
|
+ $this->log(__METHOD__,__FUNCTION__,"下发写入包裹成功:".json_encode($request).'|'.json_encode($response),null);
|
|
|
+ return json_encode($response,JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
|
|
|
|
public function validatorWeight(array $request){
|