|
|
@@ -26,7 +26,6 @@ class ReceiveController extends Controller
|
|
|
*/
|
|
|
public function new_(Request $request)
|
|
|
{
|
|
|
-
|
|
|
ini_set('max_execution_time',2500);
|
|
|
ini_set('memory_limit','1526M');
|
|
|
$isNotAHugeList=(function()use(&$request){
|
|
|
@@ -48,20 +47,20 @@ class ReceiveController extends Controller
|
|
|
foreach ($receiveInputs as $receiveInput){
|
|
|
$isRepeated=WMSReflectReceive::where('ASNNO',$receiveInput['ASNNO'])->first();
|
|
|
if($isRepeated){
|
|
|
- (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'ASNNO重复'.'|'.json_encode($request));
|
|
|
+ (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'WMS下发时ASNNO重复'.'|'.json_encode($request));
|
|
|
return response()->json(['response'=>['flag'=>'N','code'=>'6666','message'=>'ASNNO重复']])
|
|
|
->setEncodingOptions(JSON_UNESCAPED_UNICODE);
|
|
|
}
|
|
|
$receive=new WMSReflectReceive($receiveInput);
|
|
|
$receive->save();
|
|
|
-// $skus=[];
|
|
|
foreach ($receiveInput['SKU_LIST'] as $skuInput){
|
|
|
$sku=new WMSReflectReceiveSku($skuInput);
|
|
|
$receive->skus()->save($sku);
|
|
|
-// $skus[]=$sku;
|
|
|
}
|
|
|
- if(isset($receive['ASNREFERENCE3']))
|
|
|
+ if(isset($receive['ASNREFERENCE3'])){
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"接收到WMS下发退货单号:{$receive['ASNREFERENCE3']},准备进入事件WmsReceiveNewEvent",null);
|
|
|
event(new WmsReceiveNewEvent($receive['ASNREFERENCE3'],$receive));
|
|
|
+ }
|
|
|
}
|
|
|
return response()->json(['response'=>['flag'=>'Y','code'=>'0000','message'=>'正确接收']])
|
|
|
->setEncodingOptions(JSON_UNESCAPED_UNICODE);
|
|
|
@@ -129,12 +128,13 @@ class ReceiveController extends Controller
|
|
|
*/
|
|
|
static public function accomplishToWMS(RejectedBill $rejectedBill)
|
|
|
{
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"进入推送WMS入库接口。退单号:".$rejectedBill['logistic_number_return'],Auth::user()['id']);
|
|
|
ini_set('max_execution_time',2500);
|
|
|
$bill=$rejectedBill;
|
|
|
$wmsReceiveds=WMSReflectReceive::where('ASNREFERENCE3',$rejectedBill['logistic_number_return'])
|
|
|
->where('is_uploaded',0)->get();
|
|
|
if($wmsReceiveds->isEmpty()){
|
|
|
- (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'没有WMS入库单');
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,'error_'.__FUNCTION__,"错误,WMS入库接口找不到对应富勒映射表未入库记录。退单号:".$rejectedBill['logistic_number_return'],Auth::user()['id']);
|
|
|
return false;
|
|
|
}
|
|
|
$items=$bill->items()->get();
|
|
|
@@ -147,7 +147,11 @@ class ReceiveController extends Controller
|
|
|
})();
|
|
|
$success=true;
|
|
|
$wmsReceiveds->each(function ($wmsReceived)use(&$bill,&$amountsItem,$items,&$success){
|
|
|
- if(!$bill && $bill['is_loaded']!=0)return;
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"循环WMS映射表(WMS入库接口中)。ASN号:{$wmsReceived['ASNNO']},退单号:".$wmsReceived['ASNREFERENCE3'],Auth::user()['id']);
|
|
|
+ if(!$bill && $bill['is_loaded']!=0){
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,'error_'.__FUNCTION__,"跳过!!不上传。(WMS入库接口中)。对应循环WMS映射表本地退单记录已入库。退单号:".$bill['logistic_number_return'],Auth::user()['id']);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
$wmsSkus=$wmsReceived->skus()->get();
|
|
|
$orderNumberCode=$wmsReceived['ASNREFERENCE1']??$bill['order_number'];
|
|
|
@@ -200,22 +204,17 @@ class ReceiveController extends Controller
|
|
|
\"USERDEFINE2\": \"\",
|
|
|
\"USERDEFINE3\": \"\",
|
|
|
\"UNIQUE_CODE_LIST\": [".
|
|
|
-// {
|
|
|
-// \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\",
|
|
|
-// \"SKUCODE\": \"{$sku['SKU']}\",
|
|
|
-// \"STATUS\": \"{$STATUS}\",
|
|
|
-// \"PRODUCTION DATE\": \"{$item['made_at']}\",
|
|
|
-// \"EXPIRATION DATE\": \"{$item['validity_at']}\",
|
|
|
-// \"LOTATT05\": \"{$sku['LOTATT05']}\",
|
|
|
-// \"UNIQUE_CODE\": \"\"
|
|
|
-// }
|
|
|
"]
|
|
|
}
|
|
|
";
|
|
|
$skuStrList[]=$skuStr;
|
|
|
});
|
|
|
});
|
|
|
- if(count($skuStrList)==0)return;
|
|
|
+
|
|
|
+ if(count($skuStrList)==0){
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,'error_'.__FUNCTION__,"错误!没有商品项。(WMS入库接口中)。ASN号:{$wmsReceived['ASNNO']},退单号:{$wmsReceived['ASNREFERENCE3']}",Auth::user()['id']);
|
|
|
+ return;
|
|
|
+ }
|
|
|
$skuStrList = implode(',',$skuStrList);
|
|
|
$json="
|
|
|
{
|
|
|
@@ -233,40 +232,50 @@ class ReceiveController extends Controller
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
- ";
|
|
|
+ ";
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"完成拼接JSON,准备发送给WMS。(WMS入库接口中)。退单号:{$wmsReceived['ASNREFERENCE3']},商品项JSON:{$json}",Auth::user()['id']);
|
|
|
|
|
|
$sendingJson = json_decode($json,true);
|
|
|
$url=url(config('api.flux.receive.new'));
|
|
|
$response = Zttp::post($url, $sendingJson);
|
|
|
$noIssues=true;
|
|
|
$json = $response->json();
|
|
|
- (new Controller())->log(__METHOD__,__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"得到WMS返回。退单号:{$wmsReceived['ASNREFERENCE3']}},返回:{$response->body()}",Auth::user()['id']);
|
|
|
if(!$json||!isset($json['Response'])||!$json['Response']['return']['returnFlag']=='1'){
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,'error_'.__FUNCTION__,"WMS入库失败,ASN号:{$wmsReceived['ASNNO']}。退单号:{$wmsReceived['ASNREFERENCE3']}},返回:{$response->body()}",Auth::user()['id']);
|
|
|
$noIssues=false;
|
|
|
}
|
|
|
if($json&&isset($json['Response'])){
|
|
|
if($json['Response']['return']['returnFlag']=='2'){
|
|
|
+ Controller::logS(__METHOD__,'exception_'.__FUNCTION__,"状态2, WMS返回不正常!按成功跳过。退单号:{$wmsReceived['ASNREFERENCE3']}}",Auth::user()['id']);
|
|
|
return true;
|
|
|
}
|
|
|
if(isset($json['Response']['return']['returnDesc'])&&strpos($json['Response']['return']['returnDesc'],'唯一约束')!==false){
|
|
|
- (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
|
|
|
+ Controller::logS(__METHOD__,'exception_'.__FUNCTION__,"违反唯一约束, WMS返回不正常!按成功跳过。退单号:{$wmsReceived['ASNREFERENCE3']}}",Auth::user()['id']);
|
|
|
return true;
|
|
|
}
|
|
|
if(isset($json['Response']['return']['errordescr'])&&strpos($json['Response']['return']['errordescr'],'已完成')!==false){
|
|
|
- (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
|
|
|
+ Controller::logS(__METHOD__,'exception_'.__FUNCTION__,"退单之前已完成, WMS返回不正常!按成功跳过。退单号:{$wmsReceived['ASNREFERENCE3']}}",Auth::user()['id']);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
if($noIssues&&$json['Response']['return']['returnFlag']=='1'){
|
|
|
$wmsReceived['is_uploaded']=1;
|
|
|
$wmsReceived->save();
|
|
|
+ Controller::logS(__METHOD__,__FUNCTION__,"成功入库WMS。ASN号:{$wmsReceived['ASNNO']}。退单号:{$wmsReceived['ASNREFERENCE3']}}",Auth::user()['id']);
|
|
|
return true;
|
|
|
}else{
|
|
|
$success=false;
|
|
|
- (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,'error'.__FUNCTION__,"入库WMS失败!!ASN号:{$wmsReceived['ASNNO']}。退单号:{$wmsReceived['ASNREFERENCE3']}}",Auth::user()['id']);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ if($success){ //bad patch, 正常不需要这两句,作为未知原因的保险
|
|
|
+ $rejectedBill = RejectedBill::find($rejectedBill['id']);
|
|
|
+ $rejectedBill->is_loaded=1;
|
|
|
+ $rejectedBill->save();
|
|
|
+ }
|
|
|
+ if(config('jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"入库WMS处理完成,结果为:{$success}。退单号:{$rejectedBill['logistic_number_return']}}",Auth::user()['id']);
|
|
|
|
|
|
return $success;
|
|
|
}
|