get(); if($wmsReceiveds->isEmpty()){ (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'没有本地WMS入库单'); return false; } $success=true; $wmsReceiveds->each(function ($wmsReceived)use(&$store,&$amountsItem,&$success,&$inputs,$METHOD,$FUNCTION){ $wmsSkus=$wmsReceived->skus()->get(); $orderNumberCode=$wmsReceived['ASNREFERENCE1']??$store['order_number']; $amountsSku=(function()use($wmsSkus){ $result=[]; $wmsSkus->each(function($sku)use(&$result){ $result[$sku['id']]= $sku['EXPECTEDQTY_EACH']; }); return $result; })(); $skuStrList=[]; $customerCode=$store->owner()->first()['code']; $wmsSkus->each(function(WMSReflectReceiveSku $sku)use(&$skuList,&$amountsItem,&$amountsSku,&$skuStrList,$wmsReceived,$customerCode,&$inputs) { $STATUS = 'ZP'; if(isset($inputs['quality'])&&$inputs['quality'] &&$inputs['quality']!='正品') { $STATUS = 'CC'; } $repositoryCode=$sku['LOTATT05']; if(isset($inputs['depository_code'])&&$inputs['depository_code']){ $repositoryCode=$inputs['depository_code']; } $skuStr = " { \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\", \"ASNLINENO\": \"{$sku['ASNLINENO']}\", \"SKUCODE\": \"{$sku['SKU']}\", \"QUANTITY\": \"{$sku['EXPECTEDQTY_EACH']}\", \"LOTATT04\": \"{$sku['LOTATT04']}\", \"LOTATT05\": \"{$repositoryCode}\", \"STATUS\": \"{$STATUS}\", \"USERDEFINE1\": \"{$inputs['follow_code']}\", \"USERDEFINE2\": \"\", \"USERDEFINE3\": \"\", \"UNIQUE_CODE_LIST\": [" . "] } "; $skuStrList[] = $skuStr; }); $skuStrList = implode(',',$skuStrList); $json=" { \"request\": [ { \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\", \"CUSTOMERID\": \"{$wmsReceived['CUSTOMERID']}\", \"ASNTYPE\": \"{$wmsReceived['ASNTYPE']}\", \"ASNREFERENCE1\": \"{$wmsReceived['ASNREFERENCE1']}\", \"ADDWHO\": \"WCS\", \"USERDEFINE1\": \"\", \"USERDEFINE2\": \"\", \"USERDEFINE3\": \"\", \"SKU_LIST\": [{$skuStrList}] } ] } "; $sendingJson = json_decode($json,true); $url=url(config('api.flux.receive.new')); // (new Controller())->log($METHOD,$FUNCTION,$store['asn_code'].'||' .json_encode($sendingJson)); $response = Zttp::post($url, $sendingJson); $noIssues=true; $json = $response->json(); (new Controller())->log($METHOD,$FUNCTION,$response->body()); if(!$json||!isset($json['Response'])||!$json['Response']['return']['returnFlag']=='1'){ $noIssues=false; } if($json&&isset($json['Response'])){ if($json['Response']['return']['returnFlag']=='2'){ (new Controller())->log($METHOD,'error_'.$FUNCTION,$store['asn_code'].'||' . $response->body()); return true; } // if(isset($json['Response']['return']['returnDesc'])&&strpos($json['Response']['return']['returnDesc'],'唯一约束')!==false){ // (new Controller())->log($METHOD,'error_'.$FUNCTION,$response->body()); // return true; // } if(isset($json['Response']['return']['errordescr'])&&strpos($json['Response']['return']['errordescr'],'已完成')!==false){ (new Controller())->log($METHOD,'error_'.$FUNCTION,$store['asn_code'].'||' . $response->body()); return true; } } if($noIssues&&$json['Response']['return']['returnFlag']=='1'){ $wmsReceived['is_uploaded']=1; $wmsReceived->save(); (new Controller())->log($METHOD, 'success_' .$FUNCTION, $store['asn_code'].'||' .$response->body()); return true; }else { $success = false; (new Controller())->log($METHOD, 'error_'.$FUNCTION, $store['asn_code'].'||' . $response->body()); } }); return $success; } }