| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?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();
- }
- }
- }
|