|
@@ -27,7 +27,7 @@ class OrderPackageCommoditiesService
|
|
|
public function batchUpdate($params){
|
|
public function batchUpdate($params){
|
|
|
return app(BatchUpdateService::class)->batchUpdate('order_package_commodities',$params);
|
|
return app(BatchUpdateService::class)->batchUpdate('order_package_commodities',$params);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ //-------------------------
|
|
|
public function basedOnOracleDetailsStore($orderNo, $orderPackage)
|
|
public function basedOnOracleDetailsStore($orderNo, $orderPackage)
|
|
|
{
|
|
{
|
|
|
$details = OracleDOCOrderDetail::query()->where('orderNo', $orderNo)->get();
|
|
$details = OracleDOCOrderDetail::query()->where('orderNo', $orderNo)->get();
|
|
@@ -426,7 +426,6 @@ class OrderPackageCommoditiesService
|
|
|
return $order_no_map;
|
|
return $order_no_map;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
public function 删选可以保留的OrderPackageCommodities(&$OPCCollect,&$params)
|
|
public function 删选可以保留的OrderPackageCommodities(&$OPCCollect,&$params)
|
|
|
{
|
|
{
|
|
|
$retain = collect();
|
|
$retain = collect();
|
|
@@ -488,7 +487,6 @@ class OrderPackageCommoditiesService
|
|
|
return $innerParam;
|
|
return $innerParam;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
public function 删选需要修改的OrderPackageCommodities(&$OPCCollect,&$params)
|
|
public function 删选需要修改的OrderPackageCommodities(&$OPCCollect,&$params)
|
|
|
{
|
|
{
|
|
|
$update = collect();
|
|
$update = collect();
|
|
@@ -591,79 +589,92 @@ class OrderPackageCommoditiesService
|
|
|
return $commodity_map;
|
|
return $commodity_map;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // TODO
|
|
|
public function deleteUnnecessaryOrderCommodities($ids)
|
|
public function deleteUnnecessaryOrderCommodities($ids)
|
|
|
{
|
|
{
|
|
|
if(!$ids)return;
|
|
if(!$ids)return;
|
|
|
|
|
+ if(count($ids)==0)return;
|
|
|
OrderPackageCommodities::query()->whereHas('package',function($query)use($ids){
|
|
OrderPackageCommodities::query()->whereHas('package',function($query)use($ids){
|
|
|
$query->whereIn('id',$ids);
|
|
$query->whereIn('id',$ids);
|
|
|
})->delete();
|
|
})->delete();
|
|
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,'删除 OrderPackageCommodities'.json_encode($ids));
|
|
|
}
|
|
}
|
|
|
// TODO
|
|
// TODO
|
|
|
- public function createOrderCommodity($orderHeaders)
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ public function syncOrderPackageCommodities(&$orderHeaders)
|
|
|
|
|
+ {
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @var DataHandlerService $dataHandService
|
|
|
|
|
+ * @var CommodityService $commodityService
|
|
|
|
|
+ * @var OrderPackageService $orderPackageService
|
|
|
|
|
+ */
|
|
|
|
|
+ $dataHandService = app('DataHandlerService');
|
|
|
|
|
+ $commodityService = app('CommodityService');
|
|
|
|
|
+ $orderPackageService = app( 'OrderPackageService');
|
|
|
if(!$orderHeaders)return ;
|
|
if(!$orderHeaders)return ;
|
|
|
- $order_nos = data_get($orderHeaders,'*.orderno');
|
|
|
|
|
- $orderCommodities = OrderPackageCommodities::query()
|
|
|
|
|
- ->with(['package.order','commodity'])
|
|
|
|
|
- ->whereHas('package.order',function($query)use($order_nos){
|
|
|
|
|
- $query->whereIn('code',$order_nos);
|
|
|
|
|
- })->get();
|
|
|
|
|
|
|
|
|
|
|
|
+ $commodityService->getByWmsOrders($orderHeaders); // 预先处理 3s
|
|
|
|
|
+ $orderPackages = $orderPackageService->getByWmsOrders($orderHeaders);
|
|
|
|
|
+ $orderCommodities = $this->getByWmsOrder($orderHeaders);
|
|
|
|
|
+
|
|
|
|
|
+ $package_map = $dataHandService->dataHeader(['logistic_number'],$orderPackages);
|
|
|
$orderCommodities = $this->regroupOrderCommodities($orderCommodities);
|
|
$orderCommodities = $this->regroupOrderCommodities($orderCommodities);
|
|
|
|
|
+
|
|
|
$orderAllocationDetails = $this->regroupWmsOrderAllocationDetails($orderHeaders);
|
|
$orderAllocationDetails = $this->regroupWmsOrderAllocationDetails($orderHeaders);
|
|
|
- $this->filterExistParams($orderAllocationDetails,$orderCommodities);
|
|
|
|
|
- $inner_params = $this->filterInnerParams($orderAllocationDetails,$orderCommodities);
|
|
|
|
|
- $update_params =$this->filterUpdateParams($orderAllocationDetails,$orderCommodities);
|
|
|
|
|
- $delete_params = $this->filterDeleteParams($orderAllocationDetails,$orderCommodities);
|
|
|
|
|
- if($inner_params){
|
|
|
|
|
- $package = [];
|
|
|
|
|
- foreach ($orderCommodities as $orderCommodity) {
|
|
|
|
|
- $order_package = $orderCommodity->package;
|
|
|
|
|
- if(!isset($package[$order_package->logistic_number]))
|
|
|
|
|
- $package[$order_package->logistic_number] = $order_package;
|
|
|
|
|
- }
|
|
|
|
|
- $this->createOrderCommodities($inner_params,$package);
|
|
|
|
|
- }
|
|
|
|
|
- if(!$update_params)
|
|
|
|
|
- $this->updateOrderCommodities($update_params);
|
|
|
|
|
|
|
+ $del_orderCommodities =[];
|
|
|
|
|
+
|
|
|
|
|
+ $update_params =$this->filterUpdateParams($orderAllocationDetails,$orderCommodities,$del_orderCommodities); // 修改
|
|
|
|
|
+ $inner_params = $this->filterInnerParams($orderAllocationDetails,$orderCommodities); // 创建
|
|
|
|
|
+ $delete_params = $this->filterDeleteParams($orderAllocationDetails,$orderCommodities); // 删除
|
|
|
|
|
|
|
|
- if(!$delete_params)
|
|
|
|
|
- $this->deleteOrderCommodities($delete_params);
|
|
|
|
|
|
|
+ if(count($inner_params)>0)
|
|
|
|
|
+ $this->createOrderCommodities($inner_params,$package_map); // 创建 3s
|
|
|
|
|
+
|
|
|
|
|
+ if(count($update_params)>0)
|
|
|
|
|
+ $this->updateOrderCommodities($update_params); // 更新
|
|
|
|
|
+
|
|
|
|
|
+ if(count($delete_params)>0)
|
|
|
|
|
+ $this->deleteOrderCommodities($delete_params); // 删除
|
|
|
|
|
+
|
|
|
|
|
+ if(count($del_orderCommodities)>0)
|
|
|
|
|
+ $this->deleteOrderCommodities($del_orderCommodities); // 删除
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
- public function regroupOrderCommodities($orderCommodities)
|
|
|
|
|
|
|
+ // TODO 重组已有的OrderCommodities
|
|
|
|
|
+ public function regroupOrderCommodities(&$orderCommodities)
|
|
|
{
|
|
{
|
|
|
$params = [];
|
|
$params = [];
|
|
|
$orderCommodities->each(function($orderCommodity)use(&$params){
|
|
$orderCommodities->each(function($orderCommodity)use(&$params){
|
|
|
- $order_no = $orderCommodity->pacakge->order->code ?? '';
|
|
|
|
|
- dd($orderCommodity->pacakge->order ?? '');
|
|
|
|
|
|
|
+ $order_no = $orderCommodity->package->order->code ?? '';
|
|
|
$logistic_number = $orderCommodity->package->logistic_number ?? '';
|
|
$logistic_number = $orderCommodity->package->logistic_number ?? '';
|
|
|
$sku = $orderCommodity->commodity->sku ?? '';
|
|
$sku = $orderCommodity->commodity->sku ?? '';
|
|
|
$key = ' orderno='.$order_no.' logsitic_number='.$logistic_number.' sku='.$sku.' ';
|
|
$key = ' orderno='.$order_no.' logsitic_number='.$logistic_number.' sku='.$sku.' ';
|
|
|
- $params[$key] = [
|
|
|
|
|
|
|
+ $params[$key][] = [
|
|
|
'id' =>$orderCommodity->id,
|
|
'id' =>$orderCommodity->id,
|
|
|
'orderno'=>$order_no,
|
|
'orderno'=>$order_no,
|
|
|
'logistic_number'=>$logistic_number,
|
|
'logistic_number'=>$logistic_number,
|
|
|
'sku' => $sku,
|
|
'sku' => $sku,
|
|
|
- 'amount' => $orderCommodity->amount
|
|
|
|
|
|
|
+ 'amount' => $orderCommodity->amount,
|
|
|
|
|
+ 'order_package_id'=>$orderCommodity->package->id ?? '',
|
|
|
|
|
+ 'commodity_id'=>$orderCommodity->commodity->id ?? '',
|
|
|
];
|
|
];
|
|
|
});
|
|
});
|
|
|
return $params;
|
|
return $params;
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
- public function regroupWmsOrderAllocationDetails($orderHeaders)
|
|
|
|
|
|
|
+ // TODO 重组OrderAllocationDetails
|
|
|
|
|
+ public function regroupWmsOrderAllocationDetails(&$orderHeaders)
|
|
|
{
|
|
{
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @var OracleDOCOrderHeader $orderHeader
|
|
|
|
|
+ */
|
|
|
$params =[];
|
|
$params =[];
|
|
|
foreach ($orderHeaders as $orderHeader) {
|
|
foreach ($orderHeaders as $orderHeader) {
|
|
|
$order_no = $orderHeader->orderno;
|
|
$order_no = $orderHeader->orderno;
|
|
|
$actAllocationDetails = $orderHeader->actAllocationDetails ?? [];
|
|
$actAllocationDetails = $orderHeader->actAllocationDetails ?? [];
|
|
|
- foreach ($actAllocationDetails as $item) {
|
|
|
|
|
- if($item)continue;
|
|
|
|
|
|
|
+ $actAllocationDetails->each(function($item)use(&$params,$order_no){
|
|
|
$logistic_number = $item->picktotraceid;
|
|
$logistic_number = $item->picktotraceid;
|
|
|
$sku = $item->sku;
|
|
$sku = $item->sku;
|
|
|
$key = ' orderno='.$order_no.' logsitic_number='.$logistic_number.' sku='.$sku.' ';
|
|
$key = ' orderno='.$order_no.' logsitic_number='.$logistic_number.' sku='.$sku.' ';
|
|
|
if(isset($params[$key])){
|
|
if(isset($params[$key])){
|
|
|
- $params[$key]->amount += $item->qty_each;
|
|
|
|
|
|
|
+ $params[$key]['amount']+= $item->qty_each;
|
|
|
}else{
|
|
}else{
|
|
|
$params[$key] = [
|
|
$params[$key] = [
|
|
|
'orderno'=>$item->orderno,
|
|
'orderno'=>$item->orderno,
|
|
@@ -673,62 +684,76 @@ class OrderPackageCommoditiesService
|
|
|
'owner_code' => $item->customerid
|
|
'owner_code' => $item->customerid
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
return $params;
|
|
return $params;
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
- public function filterExistParams(&$orderAllocationDetails,&$orderCommodities)
|
|
|
|
|
|
|
+ // TODO 过滤已有的
|
|
|
|
|
+ public function filterUpdateParams(&$orderAllocationDetails,&$orderCommodities,&$del_orderCommodities)
|
|
|
{
|
|
{
|
|
|
|
|
+ $update_params = [];
|
|
|
foreach ($orderCommodities as $key=>$orderCommodity) {
|
|
foreach ($orderCommodities as $key=>$orderCommodity) {
|
|
|
if(isset($orderAllocationDetails[$key])){
|
|
if(isset($orderAllocationDetails[$key])){
|
|
|
- unset($orderCommodity,$orderAllocationDetails[$key]);
|
|
|
|
|
|
|
+ if(count($orderCommodity) == 1 && $orderAllocationDetails[$key]['amount'] != $orderCommodity[0]['amount']){
|
|
|
|
|
+ $update_params[$key] = $orderCommodity[0];
|
|
|
|
|
+ $update_params['amount'] = $orderAllocationDetails[$key]['amount'];
|
|
|
|
|
+ }elseif(count($orderCommodity)>1){
|
|
|
|
|
+ $update_params[$key] = array_shift($orderCommodity);
|
|
|
|
|
+ $update_params[$key]['amount'] = $orderAllocationDetails[$key]['amount'];
|
|
|
|
|
+ collect($orderCommodity)->each(function($item)use(&$del_orderCommodities){
|
|
|
|
|
+ $del_orderCommodities[] = $item;
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ unset($orderCommodities[$key],$orderAllocationDetails[$key]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ return $update_params;
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
|
|
+ // TODO 创建
|
|
|
public function filterInnerParams(&$orderAllocationDetails,&$orderCommodities)
|
|
public function filterInnerParams(&$orderAllocationDetails,&$orderCommodities)
|
|
|
{
|
|
{
|
|
|
$inner_params = [];
|
|
$inner_params = [];
|
|
|
foreach ($orderAllocationDetails as $key=>$orderAllocationDetail) {
|
|
foreach ($orderAllocationDetails as $key=>$orderAllocationDetail) {
|
|
|
- if($orderCommodities[$key]){
|
|
|
|
|
|
|
+ if(!($orderCommodities[$key] ?? false)){
|
|
|
$inner_params[] = $orderAllocationDetail;
|
|
$inner_params[] = $orderAllocationDetail;
|
|
|
unset($orderCommodities[$key],$orderAllocationDetail);
|
|
unset($orderCommodities[$key],$orderAllocationDetail);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return $inner_params;
|
|
return $inner_params;
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
- public function filterUpdateParams(&$orderAllocationDetails,&$orderCommodities)
|
|
|
|
|
- {
|
|
|
|
|
- $update_params = [];
|
|
|
|
|
- foreach ($orderCommodities as $key => $orderCommodity) {
|
|
|
|
|
- if(isset($orderAllocationDetails[$key])){
|
|
|
|
|
- if($orderCommodity->amount != $orderAllocationDetails[$key]->amount){
|
|
|
|
|
- $update_params[$key] = $orderCommodity[$key]->amount = $orderAllocationDetails[$key]->amount;
|
|
|
|
|
- unset($orderCommodity,$orderAllocationDetails[$key]);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return $update_params;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // TODO 更新
|
|
|
|
|
+// public function filterUpdateParams(&$orderAllocationDetails,&$orderCommodities)
|
|
|
|
|
+// {
|
|
|
|
|
+// $update_params = [];
|
|
|
|
|
+// foreach ($orderCommodities as $key => $orderCommodity) {
|
|
|
|
|
+// if(isset($orderAllocationDetails[$key])){
|
|
|
|
|
+// if($orderCommodity->amount != $orderAllocationDetails[$key]->amount){
|
|
|
|
|
+// $update_params[$key] = $orderCommodity[$key]->amount = $orderAllocationDetails[$key]->amount;
|
|
|
|
|
+// unset($orderCommodity,$orderAllocationDetails[$key]);
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// return $update_params;
|
|
|
|
|
+// }
|
|
|
// TODO
|
|
// TODO
|
|
|
public function filterDeleteParams(&$orderAllocationDetails,&$orderCommodities)
|
|
public function filterDeleteParams(&$orderAllocationDetails,&$orderCommodities)
|
|
|
{
|
|
{
|
|
|
$del_params = [];
|
|
$del_params = [];
|
|
|
foreach ($orderCommodities as $key => $orderCommodity) {
|
|
foreach ($orderCommodities as $key => $orderCommodity) {
|
|
|
if(!isset($orderAllocationDetails[$key])){
|
|
if(!isset($orderAllocationDetails[$key])){
|
|
|
- $del_params[] = $orderCommodity;
|
|
|
|
|
|
|
+ collect($orderCommodity)->each(function ($item)use(&$del_params){
|
|
|
|
|
+ $del_params[] = $item;
|
|
|
|
|
+ });
|
|
|
|
|
+ unset($orderCommodities[$key]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return $del_params;
|
|
return $del_params;
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
- public function createOrderCommodities($inner_params,$packages)
|
|
|
|
|
|
|
+ // TODO 根据数据创建
|
|
|
|
|
+ public function createOrderCommodities($inner_params,$package_map)
|
|
|
{
|
|
{
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
|
$dataHandlerService = app('DataHandlerService');
|
|
$dataHandlerService = app('DataHandlerService');
|
|
|
- $package_map = $dataHandlerService->dataHeader(['logistic_number'],$packages);
|
|
|
|
|
$sku = [];$owners = [];
|
|
$sku = [];$owners = [];
|
|
|
foreach ($inner_params as $inner_param) {
|
|
foreach ($inner_params as $inner_param) {
|
|
|
$sku_code = $inner_param['sku'];$owner_code = $inner_param['owner_code'];
|
|
$sku_code = $inner_param['sku'];$owner_code = $inner_param['owner_code'];
|
|
@@ -748,7 +773,8 @@ class OrderPackageCommoditiesService
|
|
|
$create_params =[];
|
|
$create_params =[];
|
|
|
$date = Carbon::now();
|
|
$date = Carbon::now();
|
|
|
foreach ($inner_params as $inner_param) {
|
|
foreach ($inner_params as $inner_param) {
|
|
|
- $package = $dataHandlerService->getKeyValue(['logistic_number'=>$inner_param],$package_map);
|
|
|
|
|
|
|
+ if($inner_param['logistic_number'] === '*' || $inner_param['logistic_number'] === ' ')continue;
|
|
|
|
|
+ $package = $dataHandlerService->getKeyValue(['logistic_number'=>$inner_param['logistic_number']],$package_map);
|
|
|
$commodity = $commodity_map[' owner='.$inner_param['owner_code'].' sku='.$inner_param['sku']] ?? null;
|
|
$commodity = $commodity_map[' owner='.$inner_param['owner_code'].' sku='.$inner_param['sku']] ?? null;
|
|
|
$create_params[] = [
|
|
$create_params[] = [
|
|
|
'order_package_id'=>$package->id,
|
|
'order_package_id'=>$package->id,
|
|
@@ -760,7 +786,7 @@ class OrderPackageCommoditiesService
|
|
|
}
|
|
}
|
|
|
if(count($create_params)>0){
|
|
if(count($create_params)>0){
|
|
|
try {
|
|
try {
|
|
|
- $bool = OrderPackageCommodities::query()->insert($create_params);
|
|
|
|
|
|
|
+ $bool = $this->insert($create_params);
|
|
|
LogService::log(__METHOD__,__FUNCTION__,'批量添加 orderCommodity --'. $bool ." || ".count($create_params).' || '.json_encode($create_params));
|
|
LogService::log(__METHOD__,__FUNCTION__,'批量添加 orderCommodity --'. $bool ." || ".count($create_params).' || '.json_encode($create_params));
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
LogService::log(__METHOD__,__FUNCTION__.'error','批量添加 orderCommodity error'." || ".count($create_params).' || '.json_encode($create_params));
|
|
LogService::log(__METHOD__,__FUNCTION__.'error','批量添加 orderCommodity error'." || ".count($create_params).' || '.json_encode($create_params));
|
|
@@ -775,22 +801,26 @@ class OrderPackageCommoditiesService
|
|
|
$update_params = [['id','order_package_id','commodity_id','amount','updated_at']];
|
|
$update_params = [['id','order_package_id','commodity_id','amount','updated_at']];
|
|
|
foreach ($orderCommodities as $orderCommodity) {
|
|
foreach ($orderCommodities as $orderCommodity) {
|
|
|
$update_params[] = [
|
|
$update_params[] = [
|
|
|
- 'id' => $orderCommodity->id,
|
|
|
|
|
- 'order_package_id'=>$orderCommodity->order_package_id,
|
|
|
|
|
- 'commodity_id'=>$orderCommodity->commodity_id,
|
|
|
|
|
- 'amount' => $orderCommodity->amount,
|
|
|
|
|
|
|
+ 'id' => $orderCommodity['id'] ?? '',
|
|
|
|
|
+ 'order_package_id'=>$orderCommodity['order_package_id'] ?? '',
|
|
|
|
|
+ 'commodity_id'=>$orderCommodity['commodity_id'] ?? '',
|
|
|
|
|
+ 'amount' => $orderCommodity['amount'],
|
|
|
'updated_at' => $updated_at
|
|
'updated_at' => $updated_at
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
- if(count($update_params)>0)
|
|
|
|
|
|
|
+ if(count($update_params)>1)
|
|
|
$this->batchUpdate($update_params);
|
|
$this->batchUpdate($update_params);
|
|
|
}
|
|
}
|
|
|
- // TODO
|
|
|
|
|
|
|
+ // TODO 删除
|
|
|
public function deleteOrderCommodities($orderCommodities){
|
|
public function deleteOrderCommodities($orderCommodities){
|
|
|
if(!$orderCommodities)return;
|
|
if(!$orderCommodities)return;
|
|
|
|
|
+ if(count($orderCommodities)==0)return;
|
|
|
try {
|
|
try {
|
|
|
- $bool = OrderPackageCommodities::query()->whereIn('id', data_get($orderCommodities, '*.id'))->delete();
|
|
|
|
|
- LogService::log(__METHOD__, __FUNCTION__, '批量删除 OrderCommodity -- ' . $bool . '||' . $orderCommodities->count() . ' || ' . json_encode($orderCommodities->toArray()));
|
|
|
|
|
|
|
+ $ids = data_get($orderCommodities, '*.id');
|
|
|
|
|
+ if(count($ids) >0){
|
|
|
|
|
+ $bool = OrderPackageCommodities::query()->whereIn('id', data_get($orderCommodities, '*.id'))->delete();
|
|
|
|
|
+ LogService::log(__METHOD__, __FUNCTION__, '批量删除 OrderCommodity -- ' . $bool . '||' .count($orderCommodities) . ' || ' . json_encode($orderCommodities));
|
|
|
|
|
+ }
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
LogService::log(__METHOD__, __FUNCTION__.' error', '批量删除 OrderCommodity Error-- ' . $e->getMessage() . '||' . $e->getTraceAsString() );
|
|
LogService::log(__METHOD__, __FUNCTION__.' error', '批量删除 OrderCommodity Error-- ' . $e->getMessage() . '||' . $e->getTraceAsString() );
|
|
|
}
|
|
}
|