| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- namespace App\Services;
- use App\OrderIssue;
- use App\Services\common\QueryService;
- use App\Order;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- class OrderIssueService
- {
- public function __construct()
- {
- app()->bind("OrderService", OrderService::class);
- }
- private function conditionQuery(Request $request)
- {
- // 订单日期
- // 客户
- // 是否完结
- // 原始订单
- // 最终状态
- // 承运商赔偿金额
- // 宝时赔偿金额
- $query = OrderIssue::with(['order','rejectedBill','orderIssueType','workgroup','secondOrder','orderIssueOnTop']);
- /* if($request->input('created_at_start')){
- $query->where('created_at','>=',$request->input('created_at_start').' 00:00:00');
- }
- if($request->input('created_at_end')){
- $query->where('created_at','<=',$request->input('created_at_start').' 23:59:59');
- }
- if($request->input('logistic_indemnity_money')){
- $query->where('logistic_indemnity_money',$request->input('logistic_indemnity_money'));
- }
- if($request->input('baoshi_indemnity_money')){
- $query->where('baoshi_indemnity_money'.$request->input('baoshi_indemnity_money'));
- }
- if($request->input('final_status')){
- $query->where('final_status',input('final_status'))
- }*/
- return $query;
- }
- public function paginate(Request $request)
- {
- return $this->conditionQuery($request)->paginate($request->paginate ?? 50);
- }
- public function get(Request $request)
- {
- }
- public function orderIssueTag(Request $request)
- {
- $orderNos = $request->input('orderNos');
- $meg = ['success' => false];
- if ($this->verifyOrderIssue($request)) {
- $meg['fail_info'] = '传入订单编号中对应的订单问题已有生成';
- return $meg;
- }
- foreach ($orderNos as $orderNo) {
- $this->createOrFind($orderNo);
- }
- $meg['success'] = '选中订单已标记为问题订单';
- return $meg;
- }
- public function verifyOrderIssue(Request $request)
- {
- $orderIds = $request->input('orderNos');
- $orders = Order::whereIn('code', $orderIds)->get();
- if (count($orders) == 0) {
- return false;
- }
- foreach ($orders as $order) {
- $order_ids[] = $order->id;
- }
- $count = OrderIssue::whereIn('order_id', $order_ids)->count();
- return $count != 0;
- }
- public function createOrFind($ordeNo)
- {
- $orderService = app('OrderService');
- $order = $orderService->createOrFindByOrderHead($ordeNo);
- $arr = [
- 'order_id' => $order->id,
- ];
- return OrderIssue::create($arr);
- }
- }
|