|
|
@@ -13,6 +13,7 @@ use App\OrderPackage;
|
|
|
use App\Owner;
|
|
|
use App\QualityLabel;
|
|
|
use App\RejectedBill;
|
|
|
+use App\Services\common\ExportService;
|
|
|
use App\Services\LogService;
|
|
|
use App\Services\OrderIssueProcessLogService;
|
|
|
use App\Services\OrderIssueService;
|
|
|
@@ -23,6 +24,7 @@ use App\Shop;
|
|
|
use App\UserWorkgroup;
|
|
|
use Exception;
|
|
|
use Illuminate\Http\Request;
|
|
|
+use Illuminate\Support\Arr;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
use Illuminate\Support\Facades\Gate;
|
|
|
@@ -67,6 +69,7 @@ class OrderIssueController extends Controller
|
|
|
if (!Gate::allows('订单管理-订单问题件生成')) {
|
|
|
return redirect(url('/'));
|
|
|
}
|
|
|
+ /** @var OrderIssueService $orderIssueService */
|
|
|
$orderIssueService = app('OrderIssueService');
|
|
|
$orderIssueService->validatorCreate($request)->validate();
|
|
|
$orderIssue = null;
|
|
|
@@ -117,7 +120,7 @@ class OrderIssueController extends Controller
|
|
|
for ($i = 0; $i < count($exception); $i++) {
|
|
|
$a .= implode(',', $exception[$i]) . '
';
|
|
|
};
|
|
|
- $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
return '<h1 class="text-danger">导入Excel成功<br><textarea style="width: 50%;height: 50%">' . $a . '</textarea></h1>';
|
|
|
}
|
|
|
} else {
|
|
|
@@ -127,6 +130,8 @@ class OrderIssueController extends Controller
|
|
|
|
|
|
public function exportOrderIssue(Request $request)
|
|
|
{
|
|
|
+ ini_set('max_execution_time', 2500);
|
|
|
+ ini_set('memory_limit', '1526M');
|
|
|
if (!Gate::allows('订单管理-问题件-查询')) {
|
|
|
return redirect(url('/'));
|
|
|
}
|
|
|
@@ -184,7 +189,7 @@ class OrderIssueController extends Controller
|
|
|
$orderIssue = OrderIssue::query()->where('id', $request->input('id'))->first();
|
|
|
$bool = $orderIssue->delete();
|
|
|
if ($bool) {
|
|
|
- $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
return ['success' => 'true'];
|
|
|
} else {
|
|
|
return ['success' => 'false', 'fail_info' => '删除问题单出现异常,请联系管理员'];
|
|
|
@@ -204,15 +209,14 @@ class OrderIssueController extends Controller
|
|
|
$orderIssue = OrderIssue::query()->find($request->id);
|
|
|
$orderIssue->update($data);
|
|
|
$orderIssue->同步退单状态();
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request));
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request));
|
|
|
return ['success' => true];
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
return ['success' => false ,'fail_info' => $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
public function apiEndOrderIssue(Request $request)
|
|
|
{
|
|
|
if (!Gate::allows('订单管理-问题件-编辑')) {
|
|
|
@@ -229,7 +233,7 @@ class OrderIssueController extends Controller
|
|
|
foreach ($request->input('ids') as $id) {
|
|
|
OrderIssueProcessLog::query()->create(['order_issue_id' => $id, 'user_id' => Auth::user()['id'], 'type' => '结束', 'content' => '完结订单']);
|
|
|
}
|
|
|
- $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
return ['success' => true];
|
|
|
}
|
|
|
}
|
|
|
@@ -246,10 +250,10 @@ class OrderIssueController extends Controller
|
|
|
OrderIssue::query()
|
|
|
->where('id', $request->input('id'))
|
|
|
->update(['is_new_rejecting' => '已处理']);
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
|
|
|
return ['success'=>true];
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent())."||".$e->getMessage()."||".$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent())."||".$e->getMessage()."||".$e->getTraceAsString());
|
|
|
return ['success' => false,'fail_info' => $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -272,6 +276,7 @@ class OrderIssueController extends Controller
|
|
|
if (!$request->filled('clientCode')) {
|
|
|
return ['success' => false, 'fail_info' => '缺少对应的参数或条件'];
|
|
|
}
|
|
|
+ /** @var $orderService OrderService*/
|
|
|
$orderService = app('OrderService');
|
|
|
$clientCode = $request->input('clientCode');
|
|
|
$order = Order::query()->where('client_code', $clientCode)->first();
|
|
|
@@ -347,10 +352,10 @@ class OrderIssueController extends Controller
|
|
|
OrderIssue::query()
|
|
|
->where('id', $request->input('id'))
|
|
|
->update([$request->input('column') => $request->input('value')]);
|
|
|
- LogService::log(__METHOD__,'更新问题件',json_encode($request->getContent()));
|
|
|
+ app('LogService')->log(__METHOD__,'更新问题件',json_encode($request->getContent()));
|
|
|
return ['success' => true];
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__,'更新问题件error',json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__,'更新问题件error',json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
return ['success' => false, $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -362,10 +367,10 @@ class OrderIssueController extends Controller
|
|
|
}
|
|
|
try {
|
|
|
OrderIssue::query()->whereIn('id', $request->input('ids'))->delete();
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
|
|
|
return ['success' => true];
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage()."||".$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent())."||".$e->getMessage()."||".$e->getTraceAsString());
|
|
|
return ['success' => false,'fail_info' => $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -381,7 +386,7 @@ class OrderIssueController extends Controller
|
|
|
->with('items')
|
|
|
->where('logistic_number_return',$request->input('logisticNumberReturn'))
|
|
|
->first();
|
|
|
- LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
|
|
|
if(!$rejectedBill){
|
|
|
$orderIssue->update(['logistic_number_return' => $request->input('logisticNumberReturn')]);
|
|
|
return ['success' => false, 'message' => '退回单号已修改,退回单号没有相应退件信息'];
|
|
|
@@ -391,7 +396,7 @@ class OrderIssueController extends Controller
|
|
|
return ['success' => true, 'rejectedBill' => $rejectedBill,'rejectingStatus' =>$orderIssue->rejecting_status];
|
|
|
}
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__, __FUNCTION__,'error'. json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__,'error'. json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
return ['success' => false ,'fail_info' => $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -462,7 +467,7 @@ class OrderIssueController extends Controller
|
|
|
return ['success' => true, 'order' => $secondClientNo =='' ? null : $order];
|
|
|
}
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
|
|
|
return ['success' =>false ,'fail_info' => $e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -475,10 +480,10 @@ class OrderIssueController extends Controller
|
|
|
$service = app(OrderIssueService::class);
|
|
|
try {
|
|
|
$message = $service->updateSecondLogisticNumber($request->input('id'), $request->logistic_number);
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
|
|
|
return $message;
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
|
|
|
return ['success'=>false,$e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
@@ -510,7 +515,6 @@ class OrderIssueController extends Controller
|
|
|
foreach ($array as $i => $str) {
|
|
|
// $string= preg_replace('/[\s,\,\,]+/','*++*',$str);
|
|
|
// $items = explode('*++*',$string);
|
|
|
-// dd($items,$str);
|
|
|
$items=[];
|
|
|
preg_match('/^(\w*?)[\s,,;;]([\x{4e00}-\x{9fa5}]*?)[\s,,;;](.*?)[\s,,;;](\w*?)$/u', $str, $items);
|
|
|
array_shift($items);
|
|
|
@@ -571,7 +575,7 @@ class OrderIssueController extends Controller
|
|
|
}
|
|
|
if(count($map)!==0)$maps[] = $map;
|
|
|
}
|
|
|
-// if(count($errors)>0)dd($errors);
|
|
|
+// if(count($errors)>0)
|
|
|
if(count($errors)>0) return ['success'=>false,'fail_info'=>$errors];
|
|
|
try {
|
|
|
foreach ($maps as $map) {
|
|
|
@@ -583,8 +587,134 @@ class OrderIssueController extends Controller
|
|
|
}
|
|
|
return ['success'=>true];
|
|
|
} catch (Exception $e) {
|
|
|
- LogService::log(__METHOD__,__FUNCTION__,'文本导入问题件失败'.json_encode($request->getContent().$e->getMessage().$e->getTraceAsString()));
|
|
|
+ app('LogService')->log(__METHOD__,__FUNCTION__,'文本导入问题件失败'.json_encode($request->getContent().$e->getMessage().$e->getTraceAsString()));
|
|
|
return ['success'=>false,'fail_info'=>$e->getMessage()];
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public function exportJsonExcel(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('订单管理-问题件-查询')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $params = $request->input();
|
|
|
+ if ($request->checkAllSign){
|
|
|
+ $params = $request->input();
|
|
|
+ unset($params['checkAllSign']);
|
|
|
+ }else{
|
|
|
+ $params['id'] = $request['data'];
|
|
|
+ $params['is_handle'] = true;
|
|
|
+ }
|
|
|
+ /** @var OrderIssueService $service */
|
|
|
+ $service = app('OrderIssueService');
|
|
|
+ $order_Issues = $service->getJsonObj($params);
|
|
|
+ return $this->getJson($order_Issues);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getJson($order_Issues){
|
|
|
+ $json = [];
|
|
|
+ $row = [
|
|
|
+ '登记日期','创建日期','客户','客户订单号','原始承运商','收货人','收货电话','省','市','区','收货人地址',
|
|
|
+ '原始运单号','原始商品','原始商品名称','原始商品数量',
|
|
|
+ '退单备注','退单商品名','退单商品条码','退单商品数量','退单状态',
|
|
|
+ '操作类型','说明','操作者','情况说明','问题类别',
|
|
|
+ '二次订单号','二次承运商','二次运单号','二次商品条码','二次商品名','二次商品数量',
|
|
|
+ '最终状态', '承运商赔偿金额', '承运商快递减免', '宝时赔偿金额', '宝时快递减免','事故责任方'
|
|
|
+ ];
|
|
|
+ foreach ($order_Issues as $order_issue){
|
|
|
+ $order = $order_issue->order;
|
|
|
+ $orderPacakges = $order_issue->order->packages ?? collect();
|
|
|
+ $logistic_numbers = '';$order_sku = '';$order_sku_name = '';$order_sku_amount = '';
|
|
|
+ $orderPacakges->each(function($package,$index)use(&$logistic_numbers,&$order_sku,&$order_sku_name,&$order_sku_amount){
|
|
|
+ $logistic_numbers.=$package->logistic_number."\r\n";
|
|
|
+ $package->commodities->each(function($commodities)use(&$order_sku,&$order_sku_name,&$order_sku_amount){
|
|
|
+ $commodity = $commodities->commodity ?? '';
|
|
|
+ $order_sku.= ($commodity->sku ?? '')."\r\n";
|
|
|
+ $order_sku_name.= ($commodity->name ?? '')."\r\n";
|
|
|
+ $order_sku_amount.= ($commodities->amount ?? '')."\r\n";
|
|
|
+ });
|
|
|
+ });
|
|
|
+ $rejected_Bill_remark = $order_issue->rejectedBill->remark ?? '';
|
|
|
+ $rejected_name = ''; $rejected_barcode = '';$rejected_amount = '';
|
|
|
+ if($order_issue->rejectedBill){
|
|
|
+ $order_issue->rejectedBill->items(function($item)use(&$rejected_name,&$rejected_barcode, &$rejected_amount){
|
|
|
+ $rejected_name.= $item->name_goods."\r\n";
|
|
|
+ $rejected_barcode.= $item->barcode_goods."\r\n";
|
|
|
+ $rejected_amount.= $item->amount."\r\n";
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ $log_type = ''; $log_content = '';$log_user = '';
|
|
|
+ $order_issue->logs->each(function($log)use(&$log_type, &$log_content,&$log_user){
|
|
|
+ $log_type.=$log->type."\r\n";
|
|
|
+ $log_content.=$log->content."\r\n";
|
|
|
+ $log_user.=$log->user->name."\r\n";
|
|
|
+ });
|
|
|
+ $send_order = $order_issue->secondOrder ?? new Order();
|
|
|
+ $send_order_numbers = '';$send_order_sku ='';$send_order_name ='';$send_order_amount = '';
|
|
|
+ $send_order->packages->each(function($package)use(&$send_order_numbers ,&$send_order_sku ,&$send_order_name ,&$send_order_amount ){
|
|
|
+ $send_order_numbers.=($package->logistic_number)."\r\n";
|
|
|
+ $package->commodities->each(function ($commodities)use( &$send_order_sku ,&$send_order_name ,&$send_order_amount ){
|
|
|
+ $commodity = $commodities->commodity;
|
|
|
+ $send_order_sku.=$commodity->sku."\r\n";
|
|
|
+ $send_order_name.=$commodity->name."\r\n";
|
|
|
+ $send_order_amount.=$commodities->amount."\r\n";
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ $json[] = [
|
|
|
+ isset($order_issue->created_at) ? str_split($order_issue->created_at,10)[0] :'', // 登记日期
|
|
|
+ isset($order->created_at) ? str_split($order->created_at,10)[0] :'', // 创建日期
|
|
|
+ $order->owner->name ?? '', // 客户
|
|
|
+ $order->client_code, // 客户订单号
|
|
|
+ $order->logistic->name ?? '', // 原始承运商
|
|
|
+ $order->consignee_name, // 收货人
|
|
|
+ $order->consignee_phone, // 收货电话
|
|
|
+ $order->province, // 省
|
|
|
+ $order->city, // 市
|
|
|
+ $order->district, // 区
|
|
|
+ $order->address, // 收货人地址
|
|
|
+
|
|
|
+ $logistic_numbers, //原始运单号
|
|
|
+ $order_sku, //原始商品
|
|
|
+ $order_sku_name, //原始商品名称
|
|
|
+ $order_sku_amount, //原始商品数量
|
|
|
+
|
|
|
+ //'退单备注','退单商品名','退单商品条码','退单商品数量','退单状态',
|
|
|
+ $rejected_Bill_remark, // 退单备注
|
|
|
+ $rejected_name, // 退单商品名
|
|
|
+ $rejected_barcode , // 退单商品条码
|
|
|
+ $rejected_amount, // 退单商品数量
|
|
|
+ $order_issue->rejecting_status , // 退单状态
|
|
|
+
|
|
|
+ // '操作类型','情况说明','问题类别',
|
|
|
+ $log_type, //操作类型
|
|
|
+ $log_content, //情况说明
|
|
|
+ $log_user, //操作者
|
|
|
+
|
|
|
+ // '情况说明','问题类别',
|
|
|
+ $order_issue->result_explain, // 情况说明
|
|
|
+ $order_issue->issueType->name ?? '', // 问题类别
|
|
|
+
|
|
|
+ // '二次订单号','二次承运商','二次运单号','二次商品条码','二次商品名','二次商品数量',
|
|
|
+ $order_issue->secondOrder->client_code ?? '', //二次订单号
|
|
|
+ $order_issue->secondOrder->logistic->name ?? '', //二次承运商
|
|
|
+ $send_order_numbers , //二次运单号
|
|
|
+ $send_order_sku, // 二次商品条码
|
|
|
+ $send_order_name, // 二次商品名
|
|
|
+ $send_order_amount, // 二次商品数量
|
|
|
+
|
|
|
+ //'最终状态', '承运商赔偿金额', '承运商快递减免', '宝时赔偿金额', '宝时快递减免','事故责任方'
|
|
|
+ $order_issue->final_status??'',
|
|
|
+ $order_issue->logistic_indemnity_money ,
|
|
|
+ $order_issue->logistic_express_remission,
|
|
|
+ $order_issue->baoshi_indemnity_money,
|
|
|
+ $order_issue->baoshi_express_remission,
|
|
|
+ $order_issue->userWorkGroup->name ?? '',
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $mergeColumn = ['A','B','C','D','E','F','G','H','I','J','K','L','P','T','X','Y','Z','AA','AF','AG','AH','AI','AJ','AK']; // 合并行
|
|
|
+ return app(ExportService::class)->json($row,$json,"订单问题件");
|
|
|
+ }
|
|
|
+
|
|
|
}
|