|
|
@@ -0,0 +1,153 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+
|
|
|
+namespace App\Http\ApiControllers;
|
|
|
+
|
|
|
+
|
|
|
+use App\Jobs\SyncOrderRejectingStatusJob;
|
|
|
+use App\Logistic;
|
|
|
+use App\QualityLabel;
|
|
|
+use App\RejectedBill;
|
|
|
+use App\RejectedBillItem;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+
|
|
|
+
|
|
|
+class RejectController
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * @api {post} /reject/save 录入退货登记
|
|
|
+ * @apiName save
|
|
|
+ * @apiGroup reject
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * @apiSuccess {string} message 响应描述
|
|
|
+ * @apiSuccess {int} status_code HTTP响应码
|
|
|
+ * @apiSuccess {bool} data 结果
|
|
|
+ *
|
|
|
+ * @apiSuccessExample {json} Success-Response:
|
|
|
+ * HTTP/1.1 200 OK
|
|
|
+ * {
|
|
|
+ * "message": "请求成功",
|
|
|
+ * "status_code": "200"
|
|
|
+ * "data":true
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function rejectSave(Request $request)
|
|
|
+ {
|
|
|
+ $logistic_number_return=$request->input('logistic_number_return');
|
|
|
+ $logistics_name=$request->input('logistics_name');
|
|
|
+ if (!$logistic_number_return||!$logistics_name){
|
|
|
+ $response["message"] = "请求失败,未携带退回单号或未指定快递公司";
|
|
|
+ $response["code"] = 410;
|
|
|
+ return response()->json($response);
|
|
|
+ }
|
|
|
+ $id_logistic_return=Logistic::query()->where("belong_company",$logistics_name)->first()['id'];
|
|
|
+ $data=$request->all();
|
|
|
+ $rejectBill=RejectedBill::query()->where("logistic_number_return",$logistic_number_return)->first();
|
|
|
+ if (!$rejectBill){
|
|
|
+ $rejectBillNew=new RejectedBill();
|
|
|
+ $rejectBillNew->logistic_number_return=$data['logistic_number_return']??'';
|
|
|
+ $rejectBillNew->id_owner=$data['id_owner']??'';
|
|
|
+ $rejectBillNew->order_number=$data['order_number']??'';
|
|
|
+ $rejectBillNew->sender=$data['sender']??'';
|
|
|
+ $rejectBillNew->mobile_sender=$data['mobile_sender']??'';
|
|
|
+ $rejectBillNew->remark=$data['remark']??'';
|
|
|
+ $rejectBillNew->id_operator=3754;
|
|
|
+ $rejectBillNew->id_logistic_return=$id_logistic_return;
|
|
|
+ $rejectBillNew->save();
|
|
|
+ $this->saveRejectBillItem($data,$rejectBillNew);
|
|
|
+ SyncOrderRejectingStatusJob::dispatch($rejectBillNew);
|
|
|
+ }else{
|
|
|
+ RejectedBillItem::query()->where('id_rejected_bill',$rejectBill->id)->delete();
|
|
|
+ $this->saveRejectBillItem($data,$rejectBill);
|
|
|
+ SyncOrderRejectingStatusJob::dispatch($rejectBill);
|
|
|
+ }
|
|
|
+ $response["message"] = "退件信息保存成功";
|
|
|
+ $response["code"] = 200;
|
|
|
+ return response()->json($response);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @api {post} /reject/delete 删除退货登记
|
|
|
+ * @apiName delete
|
|
|
+ * @apiGroup reject
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * @apiSuccess {string} message 响应描述
|
|
|
+ * @apiSuccess {int} status_code HTTP响应码
|
|
|
+ * @apiSuccess {bool} data 结果
|
|
|
+ *
|
|
|
+ * @apiSuccessExample {json} Success-Response:
|
|
|
+ * HTTP/1.1 200 OK
|
|
|
+ * {
|
|
|
+ * "message": "请求成功",
|
|
|
+ * "status_code": "200"
|
|
|
+ * "data":true
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function rejectDelete(Request $request){
|
|
|
+ $logistic_number_return=$request->input('logistic_number_return');
|
|
|
+ if (!$logistic_number_return){
|
|
|
+ $response["message"] = "请求失败,未携带退回单号";
|
|
|
+ $response["code"] = 410;
|
|
|
+ return response()->json($response);
|
|
|
+ }
|
|
|
+ $rejectBill=RejectedBill::query()->where("logistic_number_return",$logistic_number_return)->first();
|
|
|
+ if ($rejectBill){
|
|
|
+ RejectedBillItem::query()->where('id_rejected_bill',$rejectBill->id)->delete();
|
|
|
+ $rejectBill->delete();
|
|
|
+ }
|
|
|
+ $response["message"] = "退件信息删除成功";
|
|
|
+ $response["code"] = 200;
|
|
|
+ return response()->json($response);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @api {post} /rejectBillItem/delete 删除退货登记
|
|
|
+ * @apiName rejectBillItemDelete
|
|
|
+ * @apiGroup reject
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * @apiSuccess {string} message 响应描述
|
|
|
+ * @apiSuccess {int} status_code HTTP响应码
|
|
|
+ * @apiSuccess {bool} data 结果
|
|
|
+ *
|
|
|
+ * @apiSuccessExample {json} Success-Response:
|
|
|
+ * HTTP/1.1 200 OK
|
|
|
+ * {
|
|
|
+ * "message": "请求成功",
|
|
|
+ * "status_code": "200"
|
|
|
+ * "data":true
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function rejectBillItemDelete(Request $request){
|
|
|
+ $data=$request->all();
|
|
|
+ if (!$data['logistic_number_return']){
|
|
|
+ $response["message"] = "请求失败,未携带退回单号";
|
|
|
+ $response["code"] = 410;
|
|
|
+ return response()->json($response);
|
|
|
+ }
|
|
|
+ $rejectBill_id=RejectedBill::query()->where("logistic_number_return",$data['logistic_number_return'])->first()['id'];
|
|
|
+ RejectedBillItem::query()->where('id_rejected_bill',$rejectBill_id)
|
|
|
+ ->where('barcode_goods',$data['barcode_goods'])->delete();
|
|
|
+ $response["message"] = "退件明细信息删除成功";
|
|
|
+ $response["code"] = 200;
|
|
|
+ return response()->json($response);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function saveRejectBillItem($data,$rejectBill){
|
|
|
+ foreach ($data['rejectItems'] as $item){
|
|
|
+ $id_quality_label=QualityLabel::query()->where('name',$item['quality'])->first()['id'];
|
|
|
+ $rejectBillItemNew = new RejectedBillItem();
|
|
|
+ $rejectBillItemNew->id_rejected_bill=$rejectBill->id;
|
|
|
+ $rejectBillItemNew->barcode_goods=$item['barcode_goods']??'';
|
|
|
+ $rejectBillItemNew->name_goods=$item['name_goods']??'';
|
|
|
+ $rejectBillItemNew->amount=$item['amount']??'';
|
|
|
+ $rejectBillItemNew->remark=$item['remark']??'';
|
|
|
+ $rejectBillItemNew->id_quality_label=$id_quality_label;
|
|
|
+ $rejectBillItemNew->save();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|