|
|
@@ -6,11 +6,13 @@ use App\Exports\Export;
|
|
|
use App\Imports\OrderIssueExport;
|
|
|
use App\Imports\OrderIssueImport;
|
|
|
use App\Logistic;
|
|
|
+use App\OracleDOCOrderHeader;
|
|
|
use App\Order;
|
|
|
use App\OrderIssue;
|
|
|
use App\OrderIssueProcessLog;
|
|
|
use App\OrderIssueType;
|
|
|
use App\Owner;
|
|
|
+use App\QualityLabel;
|
|
|
use App\RejectedBill;
|
|
|
use App\Services\OrderIssueService;
|
|
|
use App\Services\OrderService;
|
|
|
@@ -32,7 +34,6 @@ class OrderIssueController extends Controller
|
|
|
app()->singleton("orderIssueService", OrderIssueService::class);
|
|
|
app()->singleton("orderService", OrderService::class);
|
|
|
app()->singleton("rejectedService", RejectedService::class);
|
|
|
- app()->singleton('rejectedService',RejectedService::class);
|
|
|
}
|
|
|
|
|
|
public function index(Request $request)
|
|
|
@@ -42,8 +43,10 @@ class OrderIssueController extends Controller
|
|
|
}
|
|
|
$orderIssueService = app('orderIssueService');
|
|
|
$owners = Owner::all();
|
|
|
- $orderIssues = $orderIssueService->paginate($request);
|
|
|
- return view('order.issue.index', compact('owners', 'orderIssues'));
|
|
|
+ $orderIssues = $orderIssueService->paginate($request->all());
|
|
|
+ $orderIssueType = OrderIssueType::all();
|
|
|
+ $qualityLabel = QualityLabel::all();
|
|
|
+ return view('order.issue.index', compact('owners', 'orderIssues', 'orderIssueType', 'qualityLabel'));
|
|
|
}
|
|
|
|
|
|
public function create()
|
|
|
@@ -68,9 +71,9 @@ class OrderIssueController extends Controller
|
|
|
$orderIssueService->validatorCreate($request)->validate();
|
|
|
$orderIssue = null;
|
|
|
if ($request->filled('logistic_number_return')) {
|
|
|
- $orderIssue = $orderIssueService->createByLogisticNumber($request);
|
|
|
+ $orderIssue = $orderIssueService->createByLogisticNumber($request->all());
|
|
|
} else {
|
|
|
- $orderIssue = $orderIssueService->create($request);
|
|
|
+ $orderIssue = $orderIssueService->create($request->all());
|
|
|
}
|
|
|
$msg = '';
|
|
|
if ($orderIssue == null) {
|
|
|
@@ -79,7 +82,7 @@ class OrderIssueController extends Controller
|
|
|
$msg = '创建订单问题件成功';
|
|
|
}
|
|
|
$owners = Owner::all();
|
|
|
- $orderIssues = $orderIssueService->paginate($request);
|
|
|
+ $orderIssues = $orderIssueService->paginate($request->all());
|
|
|
OrderIssueProcessLog::create(['order_issue_id' => $orderIssue['id'], 'user_id' => Auth::user()['id'], 'content' => '创建订单问题件', 'type' => '创建']);
|
|
|
return redirect('order/issue/index'); /*view('order.issue.index', compact('owners', 'orderIssues', 'msg'))*/;
|
|
|
}
|
|
|
@@ -95,19 +98,17 @@ class OrderIssueController extends Controller
|
|
|
return $query->with('commodity');
|
|
|
}]);
|
|
|
}])->where('id', $orderIssue->order_id)->first();
|
|
|
- $secondOrder = Order::with(['packages'=>function($query){
|
|
|
- return $query->with(['commodities'=>function($query){
|
|
|
+ $secondOrder = Order::with(['packages' => function ($query) {
|
|
|
+ return $query->with(['commodities' => function ($query) {
|
|
|
return $query->with(['commodity']);
|
|
|
}]);
|
|
|
}])->where('id', $orderIssue->second_order_id)->first();
|
|
|
$rejectedBill = RejectedBill::where('id', $orderIssue->rejected_bill_id)->first();
|
|
|
$userWorkgroup = UserWorkgroup::all();
|
|
|
$orderIssueType = OrderIssueType::all();
|
|
|
-
|
|
|
$owners = Owner::all();
|
|
|
$shops = Shop::all();
|
|
|
$logistics = Logistic::all();
|
|
|
-// return view('order/issue/edit', compact(['orderIssue', 'owners', 'userWorkgroup', 'shops', 'logistics', 'orderIssueType',]));
|
|
|
return view('order/issue/edit', compact(['orderIssue', 'owners', 'userWorkgroup', 'shops', 'logistics', 'orderIssueType', 'order', 'secondOrder', 'rejectedBill']));
|
|
|
}
|
|
|
|
|
|
@@ -127,13 +128,13 @@ class OrderIssueController extends Controller
|
|
|
return redirect(url('/'));
|
|
|
}
|
|
|
$file = $request->file('file');
|
|
|
- $fileSuffix = $request->file('file')->getClientOriginalExtension();
|
|
|
+ $fileSuffix = $file->getClientOriginalExtension();
|
|
|
if (in_array($fileSuffix, ['xlsx', 'xlsm', 'xltx', 'xltm', 'xls', 'xlt', 'ods', 'ots', 'slk', 'xml', 'gnumeric', 'htm', 'html', 'csv', 'tsv'])) {
|
|
|
ini_set('max_execution_time', 2100);
|
|
|
ini_set('memory_limit', '512M');
|
|
|
$extension = $request->file()['file']->getClientOriginalExtension();
|
|
|
$extension[0] = strtoupper($extension[0]);
|
|
|
- Excel::import(new OrderIssueImport(), $request->file()['file']->path(), null, $extension);
|
|
|
+ Excel::import(new OrderIssueImport(), $request->file('file')->path(), null, $extension);
|
|
|
if (Cache::has('error')) {
|
|
|
return '<h1 class="text-danger">导入Excel失败<br><p style="color: red">' . Cache::pull('error') . '</p></h1>';
|
|
|
} else {
|
|
|
@@ -153,21 +154,17 @@ class OrderIssueController extends Controller
|
|
|
public function exportOrderIssue(Request $request)
|
|
|
{
|
|
|
$orderIssueService = app('orderIssueService');
|
|
|
- $resultdata = $orderIssueService->exportExcel($request);
|
|
|
-
|
|
|
+ $resultData = $orderIssueService->exportExcel($request);
|
|
|
$row = [[
|
|
|
- 'id' => 'ID', 'created_at' => '状态', 'order_created_at' => '登记日期', 'owner' => '客户', 'shop' => '店铺', 'order_no' => '原始订单号',
|
|
|
- 'logistic' => '原始承运商', 'consignee_name' => '收货人', 'consignee_phone' => '收货电话',
|
|
|
+ 'id' => 'ID', 'order_created_at' => '登记日期', 'created_at' => '创建日期', 'owner' => '客户', 'shop' => '店铺', 'client_code' => '客户订单号',
|
|
|
+ 'logistic' => '原始承运商', 'logistic_number' => '原始运单号', 'consignee_name' => '收货人', 'consignee_phone' => '收货电话',
|
|
|
'province' => '省', 'city' => '市', 'district' => '区', 'address' => '收货人地址',
|
|
|
-// 原始商品信息order -> package -> commodity
|
|
|
'commodity_code' => '商品条码', 'commodity_name' => '商品名称', 'amount' => '数量',
|
|
|
-// 退回商品信息 rejectedBill -> items
|
|
|
'barcode_goods' => '商品条码', 'name_goods' => '商品名称', 'goods_amount' => '数量', 'is_checked' => '是否正品', 'remark' => '备注',
|
|
|
- 'rejecting_status'=>'退单状态',
|
|
|
- 'logtype'=>'操作类型','logremark'=>'说明','user'=>'操作者',
|
|
|
+ 'rejecting_status' => '退单状态',
|
|
|
+ 'logtype' => '操作类型', 'logremark' => '说明', 'user' => '操作者',
|
|
|
'order_issue_type' => '问题类别',
|
|
|
'second_order' => '二次订单', 'second_logistic' => '二次承运商', 'second_logistic_number' => '二次运单号',
|
|
|
-// 二次商品信息 order -> package -> commodity
|
|
|
's_commodity_code' => '条码', 's_commodity_name' => '商品名', 's_amount' => '数量', /*'s_is_checked' => '是否正品', 's_remark' => '备注',*/
|
|
|
'final_status' => '最终状态', 'logistic_indemnity_money' => '承运商赔偿金额', 'logistic_express_remission' => '承运商快递减免',
|
|
|
'baoshi_indemnity_money' => '宝时赔偿金额', 'baoshi_express_remission' => '宝时快递减免', 'user_workgroup' => '事故责任方']];
|
|
|
@@ -175,15 +172,13 @@ class OrderIssueController extends Controller
|
|
|
$list = [];
|
|
|
$mergeCell = [];
|
|
|
$i = 0;
|
|
|
- foreach ($resultdata as $result) {
|
|
|
+ foreach ($resultData as $result) {
|
|
|
$count = 0;
|
|
|
$list[$i] = [
|
|
|
'id' => $result->id,
|
|
|
'created_at' => $result->created_at, // 登记日期
|
|
|
'order_created_at' => isset($result->order) ? $result->order->created_at : '', // 订单创建日期
|
|
|
- 'owner' => isset($result->owner) ? $result->owner->name : '', // 货主
|
|
|
- 'shop' => isset($result->shop) ? $result->shop->name : '', // 店铺
|
|
|
- 'final_status' => $result->final_status, // 最终处理结果
|
|
|
+ 'final_status' => $result->final_status, // 最终处理结果
|
|
|
'order_issue_type' => isset($result->type) ? $result->type->name : '',
|
|
|
'logistic_indemnity_money' => $result->logistic_indemnity_money,
|
|
|
'logistic_express_remission' => $result->logistic_express_remission,
|
|
|
@@ -192,8 +187,10 @@ class OrderIssueController extends Controller
|
|
|
'user_workgroup' => isset($result->userWorkGroup) ? $result->userWorkGroup->name : '',
|
|
|
'rejecting_status' => isset($result->rejecting_status) ? $result->rejecting_status : '',
|
|
|
];
|
|
|
- $sign=$i+2;
|
|
|
+ $sign = $i + 2;
|
|
|
if (isset($result->order)) {
|
|
|
+ $list[$i]['shop'] = $result->order->shop ? $result->order->shop->name : '';// 店铺
|
|
|
+ $list[$i]['owner'] = $result->order->owner ? $result->order->owner->name : '';// 货主
|
|
|
$list[$i]['logistic'] = $result->order->logistic ? $result->order->logistic->name : '';
|
|
|
$list[$i]['consignee_name'] = $result->order->consignee_name;
|
|
|
$list[$i]['consignee_phone'] = $result->order->consignee_phone;
|
|
|
@@ -201,34 +198,35 @@ class OrderIssueController extends Controller
|
|
|
$list[$i]['city'] = $result->order->city;
|
|
|
$list[$i]['district'] = $result->order->district;
|
|
|
$list[$i]['address'] = $result->order->address;
|
|
|
- $list[$i]['order_no'] = $result->order->code;
|
|
|
+ $list[$i]['client_code'] = $result->order->client_code;
|
|
|
+ $list[$i]['logisticNumbers'] = $result->order->logistic_number;
|
|
|
$cell = $i;
|
|
|
if (isset($result->order->packages)) {
|
|
|
$packages = $result->order->packages;
|
|
|
foreach ($packages as $key => $value) {
|
|
|
- if(isset($value->commodities)){
|
|
|
+ if (isset($value->commodities)) {
|
|
|
$commodities = $value->commodities;
|
|
|
- foreach($commodities as $commodity){
|
|
|
- $list[$cell]['commodity_code'] = isset($commodity->commodity)? $commodity->commodity->sku:'';
|
|
|
- $list[$cell]['commodity_name'] = isset($commodity->commodity)?$commodity->commodity->name :'';
|
|
|
+ foreach ($commodities as $commodity) {
|
|
|
+ $list[$cell]['commodity_code'] = isset($commodity->commodity) ? $commodity->commodity->sku : '';
|
|
|
+ $list[$cell]['commodity_name'] = isset($commodity->commodity) ? $commodity->commodity->name : '';
|
|
|
$list[$cell]['amount'] = $commodity->amount;
|
|
|
+ $cell++;
|
|
|
}
|
|
|
}
|
|
|
- $cell++;
|
|
|
}
|
|
|
$count = $cell - $i;
|
|
|
}
|
|
|
}
|
|
|
- if(isset($result->logs)){
|
|
|
+ if (isset($result->logs)) {
|
|
|
$logs = $result->logs;
|
|
|
$cell = $i;
|
|
|
- foreach ($logs as $log){
|
|
|
+ foreach ($logs as $log) {
|
|
|
$list[$cell]['logtype'] = $log->type;
|
|
|
- $list[$cell]['logremark'] =$log->content;
|
|
|
- $list[$cell]['user'] = isset($log->user) ? $log->user->name:"";
|
|
|
+ $list[$cell]['logremark'] = $log->content;
|
|
|
+ $list[$cell]['user'] = isset($log->user) ? $log->user->name : "";
|
|
|
$cell++;
|
|
|
}
|
|
|
- $count = $cell - $i > $count ? $cell - $i : $count;
|
|
|
+ $count = $cell - $i > $count ? $cell - $i : $count;
|
|
|
}
|
|
|
if (isset($result->secondOrder)) {
|
|
|
$list[$i]['second_order'] = $result->secondOrder->code;
|
|
|
@@ -236,20 +234,20 @@ class OrderIssueController extends Controller
|
|
|
$list[$i]['second_logistic_number'] = $result->secondOrder->code;
|
|
|
$secondOrder = $result->secondOrder;
|
|
|
if (isset($secondOrder->secondOrder->packages)) {
|
|
|
- $spackages = $result->order->packages;
|
|
|
+ $packages = $result->order->packages;
|
|
|
$cell = $i;
|
|
|
- foreach ($spackages as $key => $value) {
|
|
|
- if(isset($value->commodities)){
|
|
|
+ foreach ($packages as $key => $value) {
|
|
|
+ if (isset($value->commodities)) {
|
|
|
$commodities = $value->commodities;
|
|
|
- foreach($commodities as $commodity){
|
|
|
- $list[$cell]['s_commodity_code'] = isset($commodity->commodity)? $commodity->commodity->sku:'';
|
|
|
- $list[$cell]['s_commodity_name'] = isset($commodity->commodity)?$commodity->commodity->name :'';
|
|
|
+ foreach ($commodities as $commodity) {
|
|
|
+ $list[$cell]['s_commodity_code'] = isset($commodity->commodity) ? $commodity->commodity->sku : '';
|
|
|
+ $list[$cell]['s_commodity_name'] = isset($commodity->commodity) ? $commodity->commodity->name : '';
|
|
|
$list[$cell]['s_amount'] = $commodity->amount;
|
|
|
+ $cell++;
|
|
|
}
|
|
|
}
|
|
|
- $cell++;
|
|
|
}
|
|
|
- $count = $cell - $i > $count ? $cell - $i : $count;
|
|
|
+ $count = $cell - $i > $count ? $cell - $i : $count;
|
|
|
}
|
|
|
}
|
|
|
if (isset($result->rejectedBill)) {
|
|
|
@@ -261,34 +259,23 @@ class OrderIssueController extends Controller
|
|
|
$list[$cell]['goods_amount'] = $value['amount'];
|
|
|
$list[$cell]['is_checked'] = $value['is_checked'];
|
|
|
$list[$cell]['remark'] = $value['remark'];
|
|
|
- $cell ++;
|
|
|
+ $cell++;
|
|
|
}
|
|
|
- $count = $cell - $i > $count ? $cell - $i : $count;
|
|
|
+ $count = $cell - $i > $count ? $cell - $i : $count;
|
|
|
}
|
|
|
$i += $count;
|
|
|
- $mergeCell[$sign] = $i+1;
|
|
|
+ $mergeCell[$sign] = $i + 1;
|
|
|
}
|
|
|
$columnName = [
|
|
|
- "A", "B", "C", "D", "E", "F",
|
|
|
- "G", "H", "I",
|
|
|
- "J", "K", "L", "M",
|
|
|
- /*"N", "O", "P",*/
|
|
|
- /*"Q", "R", "S", "T", "U",*/
|
|
|
- "V",
|
|
|
- /*"W", "X", "Y",*/
|
|
|
- "Z",
|
|
|
- "AA", "AB", "AC",
|
|
|
- /*"AD", "AF", "AG",*/
|
|
|
- "AH", "AI", "AJ",
|
|
|
- "AK", "AL" , "AM"];
|
|
|
- if(Gate::has('客户不可见')){
|
|
|
+ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", /* "O", "P","Q",*//* "R", "S", "T", "U", "V",*/
|
|
|
+ "W", /*"X", "Y",*/"Z", "AA", "AB", "AC", /*"AD", "AF", "AG",*/"AH", "AI", "AJ", "AK", "AL", "AM"];
|
|
|
+ if (Gate::has('客户不可见')) {
|
|
|
unset($row[0]['baoshi_indemnity_money']);
|
|
|
unset($columnName['AK']);
|
|
|
-
|
|
|
}
|
|
|
- foreach ($list as $key=>&$value){
|
|
|
- foreach ($row[0] as $rowKey=>$rowValue){
|
|
|
- if(!isset($value[$rowKey])){
|
|
|
+ foreach ($list as $key => &$value) {
|
|
|
+ foreach ($row[0] as $rowKey => $rowValue) {
|
|
|
+ if (!isset($value[$rowKey])) {
|
|
|
$value[$rowKey] = '';
|
|
|
}
|
|
|
}
|
|
|
@@ -313,7 +300,7 @@ class OrderIssueController extends Controller
|
|
|
return ['success' => false, 'fail_info' => '没有传入的订单编号'];
|
|
|
}
|
|
|
$orderIssueService = app('orderIssueService');
|
|
|
- return $orderIssueService->orderIssueTag($request);
|
|
|
+ return $orderIssueService->orderIssueTag($request->all());
|
|
|
}
|
|
|
|
|
|
public function apiDestroy(Request $request)
|
|
|
@@ -339,23 +326,30 @@ class OrderIssueController extends Controller
|
|
|
if (!Gate::allows('订单管理-问题件-编辑')) {
|
|
|
return ['success' => false, 'fail_info' => '没有对应权限'];
|
|
|
}
|
|
|
- $validator = $this->apiUpdateValidator($request);
|
|
|
- if ($validator->fails()){
|
|
|
+ $validator = $this->apiUpdateValidator($request->input('orderIssues'));
|
|
|
+ if ($validator->fails()) {
|
|
|
$arr = [];
|
|
|
- foreach ($validator->getMessageBag()->toArray() as $k=>$error){
|
|
|
+ foreach ($validator->getMessageBag()->toArray() as $k => $error) {
|
|
|
array_push($arr, $error[0]);
|
|
|
}
|
|
|
- return [
|
|
|
- 'success' => false,
|
|
|
- 'errors' => $arr
|
|
|
- ];
|
|
|
+ return ['success' => false, 'errors' => $arr];
|
|
|
}
|
|
|
- $orderIssue = OrderIssue::where('id', $request->input('id'))->first();
|
|
|
+ if($request->filled( 'rejectedBill')){
|
|
|
+ $validator = $this->apiUpdateValidatorRejectedBill($request->input('rejectedBill'));
|
|
|
+ if($validator->fails()){
|
|
|
+ $arr = [];
|
|
|
+ foreach ($validator->getMessageBag()->toArray() as $k => $error) {
|
|
|
+ array_push($arr, $error[0]);
|
|
|
+ }
|
|
|
+ return ['success' => false, 'errors' => $arr];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $orderIssue = OrderIssue::where('id', $request->input('orderIssues')['id'])->first();
|
|
|
if (!$orderIssue) {
|
|
|
return ['success' => false, 'fail_info' => '数据库没有相应记录,请到查询页面刷新重试'];
|
|
|
}
|
|
|
- $orderIssue->fill($request->all());
|
|
|
- $orderIssue->update();
|
|
|
+ $orderIssueService = app('orderIssueService');
|
|
|
+ $orderIssueService->updateOrderIssue($orderIssue, $request->all());
|
|
|
$this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
return ['success' => true, 'id' => $orderIssue['id']];
|
|
|
}
|
|
|
@@ -368,11 +362,11 @@ class OrderIssueController extends Controller
|
|
|
if (!$request->has('ids')) {
|
|
|
return ['success' => false, 'fail_info' => '没有传入对应的参数'];
|
|
|
}
|
|
|
- $count = OrderIssue::whereIn('id', $request->input('ids'))->where('handle_status', 2)->count();
|
|
|
+ $count = OrderIssue::whereIn('id', $request->input('ids'))->where('final_status', '已解决')->count();
|
|
|
if ($count > 0) {
|
|
|
return ['success' => false, 'fail_info' => '勾选的内容中已有完结的订单问题件,取消勾选后重试'];
|
|
|
} else {
|
|
|
- $count = OrderIssue::whereIn('id', $request->input('ids'))->update(['handle_status' => 2]);
|
|
|
+ OrderIssue::whereIn('id', $request->input('ids'))->update(['final_status' => '已解决']);
|
|
|
foreach ($request->input('ids') as $id) {
|
|
|
OrderIssueProcessLog::create(['order_issue_id' => $id, 'user_id' => Auth::user()['id'], 'type' => '结束', 'content' => '完结订单']);
|
|
|
}
|
|
|
@@ -391,72 +385,89 @@ class OrderIssueController extends Controller
|
|
|
}
|
|
|
$bool = OrderIssue::where('id', $request->input('id'))->update(['is_new_rejecting' => '已处理']);
|
|
|
if ($bool) {
|
|
|
- OrderIssueProcessLog::create(['order_issue_id' => $request->input('id'), 'user_id' => Auth::user()['id'], 'content' => '订单已处理', 'type' => '处理']);
|
|
|
- return ['success' => true];
|
|
|
+ $log = OrderIssueProcessLog::create(['order_issue_id' => $request->input('id'), 'user_id' => Auth::user()['id'], 'content' => '订单已处理', 'type' => '处理']);
|
|
|
+ $log=OrderIssueProcessLog::with(['user'])->where('id',$log['id'])->first();
|
|
|
+ return ['success' => true,'data'=> $log];
|
|
|
}
|
|
|
return ['success' => false, 'fail_info' => '修改失败'];
|
|
|
}
|
|
|
|
|
|
- public function apiGetOrderInfoByWMSOrderNo(Request $request)
|
|
|
+ public function apiGetOrderInfoByClientNo(Request $request)
|
|
|
{
|
|
|
- if (!$request->filled('WMSOrderNo')) {
|
|
|
- return ['success' => false, 'fail_info' => '缺失WMS订单号参数无法查询'];
|
|
|
+ if (!$request->filled('clientNo')) {
|
|
|
+ return ['success' => false, 'fail_info' => '缺失WMS订单参数无法查询'];
|
|
|
}
|
|
|
$orderService = app('orderService');
|
|
|
- $orderInfo = $orderService->createOrderByWMSOrderNo($request->input('WMSOrderNo'));
|
|
|
+ $orderInfo = $orderService->findOrCreateByClientCode($request->input('clientNo'));
|
|
|
if (!$orderInfo) {
|
|
|
- return ['success' => false, 'fina_info' => '没有对应的WMS订单号'];
|
|
|
+ return ['success' => false, 'fail_info' => '没有对应的WMS订单信息'];
|
|
|
}
|
|
|
return ['success' => true, 'data' => $orderInfo];
|
|
|
}
|
|
|
|
|
|
- public function apiOrderIssueHasCreate(Request $request)
|
|
|
+ public function apiOrderIssueHasClientCode(Request $request)
|
|
|
{
|
|
|
- if (!$request->filled(['type', 'id'])) {
|
|
|
+ if (!$request->filled('clientCode')) {
|
|
|
return ['success' => false, 'fail_info' => '缺少对应的参数或条件'];
|
|
|
}
|
|
|
$orderService = app('orderService');
|
|
|
- $rejectedService = app('rejectedService');
|
|
|
- if ($request->input('type') == 'WMSOrderNo') {
|
|
|
- $order = $orderService->createOrderByWMSOrderNo($request->input('id'));
|
|
|
- $bool = OrderIssue::where('order_id', $order['id'])->count() > 0;
|
|
|
- if ($bool) {
|
|
|
- return ['success' => false, 'fail_info' => '该订单号已有问题订单件'];
|
|
|
- } else {
|
|
|
- $order = $orderService->createOrderByWMSOrderNo($request->input('id'));
|
|
|
- $rejectedBill = $rejectedService->getRejectedByWMSOrderNo($request->input('id'));
|
|
|
- return ['success' => true, 'data' => compact(['order', 'rejectedBill'])];
|
|
|
+ $clientCode = $request->input('clientCode');
|
|
|
+ $order = Order::where('client_code', $clientCode)->first();
|
|
|
+ if ($order) {
|
|
|
+ if (OrderIssue::where('order_id', $order['id'])->count()) {
|
|
|
+ return ['success' => false, 'fail_info' => '该客户订单号已有对应的订单问题件'];
|
|
|
}
|
|
|
- } else if ($request->input('type') == 'RejectedBill') {
|
|
|
- $rejectedBill = RejectedBill::where('logistic_number_return',$request->input('id'))->first();
|
|
|
- if(!$rejectedBill){
|
|
|
- return ['success' => false, 'fail_info' => '没有对应的问题单号'];
|
|
|
+ $order = $orderService->findOrCreateByClientCode($clientCode);
|
|
|
+ return ['success' => true, 'order' => $order];
|
|
|
+ } else {
|
|
|
+ $orderHeader = OracleDOCOrderHeader::where('SOReference1', $clientCode)->first();
|
|
|
+ if (!$orderHeader) {
|
|
|
+ return ['success' => false, 'fail_info' => '该客户订单号没有对应的订单信息'];
|
|
|
+ } else {
|
|
|
+ $order = $orderService->findOrCreateByClientCode($clientCode);
|
|
|
+ $rejectedBill = $orderService->getRejectedBillOfClientCode($clientCode);
|
|
|
+ return ['success' => true, 'order' => $order, 'rejectedBill' => $rejectedBill];
|
|
|
}
|
|
|
- $bool = OrderIssue::where('rejected_bill_id',$rejectedBill['id'] )->count() > 0;
|
|
|
- if ($bool) {
|
|
|
- return ['success' => false, 'fail_info' => '退回单号已有对应的问题单'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function apiOrderIssueHasLogisticNumberReturn(Request $request)
|
|
|
+ {
|
|
|
+ if (!$request->filled('logisticNumberReturn')) {
|
|
|
+ return ['success' => false, 'fail_info' => '缺少对应的参数或条件'];
|
|
|
+ }
|
|
|
+ $logisticNumberReturn = $request->input('logisticNumberReturn');
|
|
|
+ $rejectedBill = RejectedBill::with('items')->where('logistic_number_return', $logisticNumberReturn)->first();
|
|
|
+ if ($rejectedBill) {
|
|
|
+ $orderIssue = OrderIssue::where('rejected_bill_id', $rejectedBill->id)->first();
|
|
|
+
|
|
|
+ if ($orderIssue) {
|
|
|
+ return ['success' => false, 'fail_info' => '该退回单号已有对应的问题件'];
|
|
|
} else {
|
|
|
- $order = $orderService->getOrderInfoByLogisticNumberReturn($request->input('id'));
|
|
|
- $rejectedBill = RejectedBill::with('items')->where('logistic_number_return', $request->input('id'))->first();
|
|
|
- return ['success' => true, 'data' => compact(['order', 'rejectedBill'])];
|
|
|
+ $orderService = app('orderService');
|
|
|
+ $order = $orderService->findOrCreteByLogisticNumberReturn($logisticNumberReturn);
|
|
|
+ return ['success' => true, 'order' => $order, 'rejectedBill' => $rejectedBill];
|
|
|
}
|
|
|
+ } else {
|
|
|
+ return ['success' => true, 'meg' => '没有对应的退回单号,但仍可以录入'];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function apiUpdateValidator(Request $request){
|
|
|
- return Validator::make($request->input(), [
|
|
|
+ public function apiUpdateValidator(array $arr)
|
|
|
+ {
|
|
|
+ return Validator::make($arr, [
|
|
|
'order_issue_type_id' => ['required'],
|
|
|
'handle_status' => ['nullable'],
|
|
|
'result_explain' => ['nullable'],
|
|
|
- 'logistic_indemnity_money' => ['nullable','numeric'],
|
|
|
+ 'logistic_indemnity_money' => ['nullable', 'numeric'],
|
|
|
'logistic_express_remission' => ['nullable'],
|
|
|
- 'baoshi_indemnity_money' => ['nullable','numeric'],
|
|
|
+ 'baoshi_indemnity_money' => ['nullable', 'numeric'],
|
|
|
'baoshi_express_remission' => ['nullable'],
|
|
|
- ],[
|
|
|
- 'required' => [':attribute 为必填项',':attribute'] ,
|
|
|
- 'numeric' => [':attribute 为可确认的数值',':attribute']
|
|
|
- ],[
|
|
|
- 'order_issue_type_id'=>'问题类别',
|
|
|
+ ], [
|
|
|
+ 'required' => [':attribute 为必填项', ':attribute'],
|
|
|
+ 'numeric' => [':attribute 为可确认的数值', ':attribute']
|
|
|
+ ], [
|
|
|
+ 'order_issue_type_id' => '问题类别',
|
|
|
'handle_status' => '处理状态',
|
|
|
'result_explain' => '处理结果说明',
|
|
|
'logistic_indemnity_money' => '承运商赔偿金额',
|
|
|
@@ -465,4 +476,18 @@ class OrderIssueController extends Controller
|
|
|
'baoshi_express_remission' => '宝时快递减免',
|
|
|
]);
|
|
|
}
|
|
|
+
|
|
|
+ public function apiUpdateValidatorRejectedBill(array $arr){
|
|
|
+ return Validator::make($arr, [
|
|
|
+ 'logistic_number_return'=>['required'],
|
|
|
+ 'id_owner'=>['required'],
|
|
|
+ 'id_logistic_return'=>['required'],
|
|
|
+ ], [
|
|
|
+ 'required' => [':attribute 为必填项', ':attribute'],
|
|
|
+ ], [
|
|
|
+ 'logistic_number_return'=> '退回单号',
|
|
|
+ 'id_owner'=> '退回单号货主',
|
|
|
+ 'id_logistic_return'=> '退回单号承运商',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
}
|