Kaynağa Gözat

导出转为GO服务暂时保留,已做:退货,入库,订单(问题件待做)

Zhouzhendong 5 yıl önce
ebeveyn
işleme
30f4aed295

+ 1 - 1
app/Commodity.php

@@ -10,7 +10,7 @@ class Commodity extends Model
 {
     use ModelTimeFormat;
     protected $fillable=['name','sku','owner_id','created_at'];
-    protected $appends=['barcode','owner_name','owner_code'];
+    //protected $appends=['barcode','owner_name','owner_code'];
 
     public function barcodes()
     {

+ 8 - 0
app/Http/Controllers/OrderController.php

@@ -175,6 +175,14 @@ class OrderController extends Controller
                       left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno=ACT_ALLOCATION_DETAILS.orderno and
                       DOC_Order_Details.orderlineno=ACT_ALLOCATION_DETAILS.orderlineno";
         if ($alternate_sku1)$sql.=" where BAS_SKU.Alternate_SKU1 like '".$alternate_sku1."%'";
+
+        if ($checkData || $export){
+            return response(Http::post(config('go.export.url'),['type'=>'order','sql'=>$sql]),200, [
+                "Content-type"=>"application/octet-stream",
+                "Content-Disposition"=>"attachment; filename=订单记录-".date('ymdHis').'.xlsx',
+            ]);
+        }
+
         $orders=DB::connection('oracle')->select(DB::raw($sql));
         $commodities=[];
         $picktotraceids=[];

+ 26 - 4
app/Http/Controllers/RejectedController.php

@@ -21,6 +21,7 @@ use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
+use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Validator;
 use Maatwebsite\Excel\Facades\Excel;
 use function foo\func;
@@ -112,7 +113,7 @@ class RejectedController extends Controller
         $logistic_number_return = $params['logistic_number_return'];
         $logistic_number = $params['logistic_number'];
         $id_logistic_return= $params['id_logistic_return'];
-        $rejectedBillsQuery=RejectedBill::with(['owner','logistic','items']);
+        $rejectedBillsQuery=RejectedBill::with(['user','owner','logistic','items']);
         if($created_at_start&&!$created_at_end){
             $created_at_end = $created_at_start;
         }
@@ -386,6 +387,21 @@ class RejectedController extends Controller
 //        return ['success'=>$re];
     }
     public function export(Request $request){
+        if(!Gate::allows('退货管理-查询')){ return '没有权限';  }
+        if ($request->checkAllSign){
+            $param = $request->input();
+        }else{
+            $param = ["id"=>$request->data];
+        }
+        $sql = app('rejectedService')->getSql($param);
+        return response(Http::post(config('go.export.url'),['type'=>'rejected','sql'=>$sql]),200, [
+            "Content-type"=>"application/octet-stream",
+            "Content-Disposition"=>"attachment; filename=运单列表-".date('ymdHis').'.xlsx',
+        ]);
+    }
+
+
+   /* public function export(Request $request){
         if(!Gate::allows('退货管理-查询')){ return '没有权限';  }
         ini_set('max_execution_time',2500);
         ini_set('memory_limit','1526M');
@@ -400,7 +416,7 @@ class RejectedController extends Controller
             $export->setIds($ids);
         }
         return Excel::download($export,'退货表'.Carbon::now().'.xlsx');
-    }
+    }*/
 
     /*public function exportExcel(Request $request)
     {
@@ -480,12 +496,18 @@ class RejectedController extends Controller
 
     //统计页导出
     public function exportAnalyze(Request $request){
-        ini_set('max_execution_time',2500);
+        $searchParams = $this->getAnalyzeSearchParams($request);
+        $sql = RejectedAnalyzeOwner::getQuerySQL($searchParams);
+        return response(Http::post(config('go.export.url'),['type'=>'rejectedStatistics','sql'=>$sql]),200, [
+            "Content-type"=>"application/octet-stream",
+            "Content-Disposition"=>"attachment; filename=退货统计记录单-".date('ymdHis').'.xlsx',
+        ]);
+        /*ini_set('max_execution_time',2500);
         ini_set('memory_limit','1526M');
         $row = RejectedAnalyzeOwner::getExcelFromHead();
         $searchParams = $this->getAnalyzeSearchParams($request);
         $data = RejectedAnalyzeOwner::getFindBy($searchParams);
-        return Excel::download(new Export($row,$data),date('YmdHis', time()).'-退货统计记录单.xlsx');
+        return Excel::download(new Export($row,$data),date('YmdHis', time()).'-退货统计记录单.xlsx');*/
     }
 
     public function apiGetRejectedByLogisticNumberReturn(Request $request){

+ 58 - 28
app/Http/Controllers/TestController.php

@@ -6,6 +6,7 @@ namespace App\Http\Controllers;
 use App\Authority;
 use App\Batch;
 use App\City;
+use App\Commodity;
 use App\Events\CancelOrder;
 use App\Logistic;
 use App\OracleActAllocationDetails;
@@ -259,6 +260,8 @@ class TestController extends Controller
 
     public function tNull()
     {
+        User::query()->get()->toArray();
+        User::query()->get()->toJson();
     }
 
     public function deletePackageAuthority()
@@ -269,38 +272,65 @@ class TestController extends Controller
         });
     }
 
+    function test(){
+        $param = ["a"=>null];
+        dd(config('go.export.url'));
+    }
+
     /*1*/
-    function test(Request $request)
+    function socket(Request $request)
     {/**/
-        $units=ProcessesContent::with('signCommodity')->get();
-        foreach ($units as $unit){
-            if ($unit->sign_commodity_name_mark)dd($unit->sign_commodity_name_mark);
+        $a = microtime(true);
+        error_reporting(E_ALL);
+        set_time_limit(0);
+        echo "<h2>TCP/IP Connection</h2>\n";
+
+        $port = 8091;
+        $ip = "127.0.0.1";
+        /*
+         +-------------------------------
+         *    @socket连接整个过程
+         +-------------------------------
+         *    @socket_create
+         *    @socket_connect
+         *    @socket_write
+         *    @socket_read
+         *    @socket_close
+         +--------------------------------
+         */
+
+        $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+        if ($socket < 0) {
+            echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
+        }else {
+            echo "OK.\n";
         }
 
-        header("Content-type:text/html;charset=utf-8");
-
-        $stuid = "201301013";
-        $pwd = "136";
-        $uri = "127.0.0.1/login.php";//这里换成你服务器的地址
-        // 参数数组
-        $data = array (
-            'stuid' => $stuid,
-            'pwd' => $pwd
-        );
-
-        $ch = curl_init();  //初始化curl
-
-        curl_setopt ( $ch, CURLOPT_URL, $uri );
-        curl_setopt ( $ch, CURLOPT_POST, 1 );  //使用post请求
-        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
-        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
-        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data);  //提交数据
-        curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, true);  //重定向地址也输出
-        $return = curl_exec ( $ch ); //得到返回值
-
-        curl_close ( $ch );  //关闭
-
-        print_r($return);  //输出返回值
+        echo "试图连接 '$ip' 端口 '$port'...\n";
+        $result = socket_connect($socket, $ip, $port);
+        if ($result < 0) {
+            echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
+        }else {
+            echo "连接OK\n";
+        }
+        $b = microtime(true);
+        echo "连接耗时:".($b-$a)."\n";
+        $content = Commodity::query()->limit(200)->get();
+
+        $c= microtime(true);
+        echo "查询数据耗时:".($c-$b)."\n";
+        $content->toArray();
+        /*$chunks=$content->chunk(100);
+        foreach ($chunks as $chunk){
+            $chunk->toJson();
+            var_dump(mb_strlen($chunk->toJson()));
+            //socket_write($socket, $chunk->toJson(), mb_strlen($chunk->toJson()));
+        }*/
+        $d= microtime(true);
+        echo "发送数据耗时:".($d-$c)."\n";
+        socket_close($socket);
+        $e= microtime(true);
+        echo "共耗时:".($e-$a)."\n";
     }
 
 }

+ 7 - 0
app/Http/Controllers/WaveController.php

@@ -7,6 +7,7 @@ use App\Services\WaveService;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
+use Illuminate\Support\Facades\Http;
 use Maatwebsite\Excel\Facades\Excel;
 
 class WaveController extends Controller
@@ -87,6 +88,12 @@ class WaveController extends Controller
 
     //
     public function exportExcelOnParams(Request $request){
+        $sql = app("WaveService")->getSql($request);
+        return response(Http::post(config('go.export.url'),['type'=>'orderWave','sql'=>$sql]),200, [
+            "Content-type"=>"application/octet-stream",
+            "Content-Disposition"=>"attachment; filename=波次记录-".date('ymdHis').'.xlsx',
+        ]);
+
         $waveService = app("WaveService");
         ini_set('max_execution_time',2500);
         ini_set('memory_limit','1526M');

+ 7 - 1
app/Http/Controllers/WaybillController.php

@@ -25,10 +25,12 @@ use App\WaybillPayoff;
 use App\WaybillFinancialExcepted;
 use App\WaybillFinancialSnapshot;
 use Carbon\Carbon;
+use http\Header;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
+use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Validator;
 use Intervention\Image\Facades\Image;
 use Maatwebsite\Excel\Facades\Excel;
@@ -495,7 +497,11 @@ class WaybillController extends Controller
         ini_set('memory_limit','1526M');
         if ($request->checkAllSign){
             $request->offsetUnset('checkAllSign');
-            $waybills = app('waybillService')->get($request);
+            $waybills = app('waybillService')->getSql($request);
+            return response(Http::post('http://localhost:8090',['type'=>'waybill','sql'=>$waybills]),200, [
+                "Content-type"=>"application/octet-stream",
+                "Content-Disposition"=>"attachment; filename=".date('ymdHis').'-'.mt_rand(0,9999).'运单列表.xlsx',
+                ]);
         }else{
             $waybills = app('waybillService')->some($request);
         }

+ 3 - 3
app/RejectedAnalyzeOwner.php

@@ -33,7 +33,7 @@ class RejectedAnalyzeOwner extends Model
         foreach ($resultSet as $result) {
             $rao = new RejectedAnalyzeOwner();
             $rao->id_owner = $result->id_owner;
-            $rao->owner_name = $result->name;
+            $rao->owner_name = $result->owner_name;
             $rao->bounce_amount = $result->bounce_amount;
             $rao->check_amount = $result->check_amount;
             $rao->in_storage_count = $result->in_storage_count;
@@ -51,7 +51,7 @@ class RejectedAnalyzeOwner extends Model
         foreach ($resultSet as $result) {
             $rao =[
                     'id_owner' => $result->id_owner,
-                    'owner_name'=>  $result->name,
+                    'owner_name'=>  $result->owner_name,
                     'bounce_amount'=>$result->bounce_amount,
                     'check_amount'=>$result->check_amount,
                     'uncheck_amount'=>$result->bounce_amount-$result->check_amount,
@@ -124,7 +124,7 @@ class RejectedAnalyzeOwner extends Model
     // 返回sql    zengjun
     public static  function getQuerySQL($array= null){
         $condition = RejectedAnalyzeOwner::getCondition($array);// 条件
-        $sql = 'select distinct rao.id_owner,owners.name,sum(bounce_amount) bounce_amount,sum(check_amount) check_amount,sum(in_storage_count) in_storage_count,sum(not_in_storage_count) not_in_storage_count from';
+        $sql = 'select distinct rao.id_owner,owners.name owner_name,sum(bounce_amount) bounce_amount,sum(check_amount) check_amount,sum(in_storage_count) in_storage_count,sum(not_in_storage_count) not_in_storage_count from';
         $sql .= '(';
         // 退件单数
         $sql .= ' select  distinct id_owner,count(1) bounce_amount,0 check_amount,0 in_storage_count,0 not_in_storage_count from rejected_bills  where deleted_at is null ';

+ 1 - 1
app/Services/InventoryService.php

@@ -26,7 +26,7 @@ class InventoryService
             'date_start' => ['alias' => 'created_at' , 'startDate' => ' 00:00:00'],
             'date_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
         ];
-        $inventories = app(QueryService::class)->query($request,$inventories,$columnQueryRules);
+        $inventories = app(QueryService::class)->query($request->input(),$inventories,$columnQueryRules);
         return $inventories;
     }
     public function paginate(Request $request){

+ 1 - 1
app/Services/LaborReportService.php

@@ -43,7 +43,7 @@ class LaborReportService
             'created_at_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
             'identity_number' => ['timeLimit' => 15]
         ];
-        $laborReports = app(QueryService::class)->query($request,$laborReports,$columnQueryRules);
+        $laborReports = app(QueryService::class)->query($request->input(),$laborReports,$columnQueryRules);
         if(Gate::allows('人事管理-临时工报表-可见全部组')||Gate::allows('人事管理-门卫审核')){
             $laborReports->orWhereNull('user_workgroup_id');
         }

+ 24 - 38
app/Services/OrderIssueService.php

@@ -30,25 +30,15 @@ class OrderIssueService
         app()->bind("orderPackageCommoditiesService", OrderPackageCommoditiesService::class);
     }
 
-    public function getQuery(Request $request, array $condition = null)
+    public function getQuery($param)
     {
-        if (!isset($condition)) {
-            $condition = $request->all();
-        }
         $user = Auth::user();
         $owner_ids = $user ? $user->getPermittingOwnerIdsAttribute() : [];
         $order_ids = [];
-        if (isset($condition['owner_id'])) {
-            $owner_ids = explode(',', $condition['owner_id']);
+        if ($param['owner_id'] ?? false) {
+            $owner_ids = explode(',', $param['owner_id']);
         }
-
-        $orderIssues = OrderIssue::whereHas('order', function ($query) use ($owner_ids) {
-            $query->whereHas('owner', function ($query) use ($owner_ids) {
-                return $query->whereIn('id', $owner_ids);
-            });
-        })->get();
-
-        $orders = Order::select('id')->whereIn('owner_id', $owner_ids)->get();
+        $orders = Order::query()->select('id')->whereIn('owner_id', $owner_ids)->get();
         foreach ($orders as $order) {
             array_push($order_ids, $order['id']);
         }
@@ -82,47 +72,43 @@ class OrderIssueService
         return $query;
     }
 
-    public function getConditionQuery(Request $request, array $condition = null)
+    public function getConditionQuery(array  $param)
     {
-        $query = $this->getQuery($request, $condition);
-        if (!isset($condition)) {
-            $condition = $request->all();
-        }
-        if (isset($condition['created_at_start'])) {
-            $query->where('created_at', '>=', $condition['created_at_start'] . " 00:00:00");
+        $query = $this->getQuery($param);
+        if ($param["created_at_start"] ?? false) {
+            $query->where('created_at', '>=', $param["created_at_start"] . " 00:00:00");
         }
-        if (isset($condition['created_at_end'])) {
-            $query->where('created_at', '<=', $condition['created_at_end'] . " 23:59:59");
+        if ($param["created_at_end"] ?? false) {
+            $query->where('created_at', '<=', $param["created_at_end"] . " 23:59:59");
         }
-        if (isset($condition['final_status'])) {
-            $query->where('final_status', $condition['final_status']);
+        if ($param["final_status"] ?? false) {
+            $query->where('final_status', $param["final_status"]);
         }
-        if (isset($condition['handle_status'])) {
-            $query->where('handle_status', intval($condition['handle_status']));
+        if ($param["handle_status"] ?? false) {
+            $query->where('handle_status', $param["handle_status"]);
         }
-        if (isset($condition['logistic_indemnity_money'])) {
-            $query->where('logistic_indemnity_money', $condition['logistic_indemnity_money']);
+        if ($param["logistic_indemnity_money"] ?? false) {
+            $query->where('logistic_indemnity_money', $param["logistic_indemnity_money"]);
         }
-        if (isset($condition['baoshi_express_remission'])) {
-            $query->where('baoshi_express_remission', $condition['baoshi_express_remission']);
+        if ($param["baoshi_express_remission"] ?? false) {
+            $query->where('baoshi_express_remission', $param["baoshi_express_remission"]);
         }
-        if (isset($condition['is_new_rejecting'])) {
-            $query->where('is_new_rejecting', $condition['is_new_rejecting']);
+        if ($param["is_new_rejecting"] ?? false) {
+            $query->where('is_new_rejecting', $param["is_new_rejecting"]);
         }
-        if (isset($condition['order_issue_ids'])) {
-            $orderIssuesId = $condition['order_issue_ids'];
+        if ($param["order_issue_ids"] ?? false) {
+            $orderIssuesId = $param["order_issue_ids"];
             if (is_string($orderIssuesId)) {
                 $orderIssuesId = explode(',', $orderIssuesId);
             }
             $query->whereIn('order_issues.id', $orderIssuesId);
         }
-//        dd($query->toSql());
         return $query;
     }
 
     public function paginate(Request $request)
     {
-        return $this->getConditionQuery($request)->paginate($request->input('paginate', 50));
+        return $this->getConditionQuery($request->input())->paginate($request->input('paginate', 50));
     }
 
     public function orderIssueTag(Request $request)
@@ -413,7 +399,7 @@ class OrderIssueService
         if ($request->getMethod() == 'GET') {
 // 所有页
             if ($request->has('checkAllSign')) {
-                $result = $this->getConditionQuery($request, null)->get();
+                $result = $this->getConditionQuery($request)->get();
             }
         } else if ($request->getMethod() == 'POST') {
 // 选中

+ 7 - 3
app/Services/PackageService.php

@@ -1,6 +1,6 @@
-<?php 
+<?php
 
-namespace App\Services; 
+namespace App\Services;
 
 use App\Package;
 use App\Services\common\QueryService;
@@ -17,7 +17,7 @@ Class PackageService
             'created_at_start' => ['alias' => 'created_at','startDate' => " 00:00:00"],
             'created_at_end' => ['alias' => 'created_at','endDate' => " 23:59:59"],
         ];
-        $packages = app(QueryService::class)->query($request,$packages,$columnQueryRules);
+        $packages = app(QueryService::class)->query($request->input(),$packages,$columnQueryRules);
         return $packages;
     }
 
@@ -36,4 +36,8 @@ Class PackageService
             ->whereIn('id',explode(',',$request->data))->get();
     }
 
+    public function getSql(Request $request){
+        return $this->conditionQuery($request)->sql();
+    }
+
 }

+ 1 - 1
app/Services/ProcessService.php

@@ -43,7 +43,7 @@ Class ProcessService
             'code' => ['like' => ''],
             'owner_id' => ['multi' => ','],
         ];
-        $processes = app(QueryService::class)->query($request,$processes,$columnQueryRules);
+        $processes = app(QueryService::class)->query($request->input(),$processes,$columnQueryRules);
         return $processes;
     }
 

+ 52 - 29
app/Services/RejectedService.php

@@ -18,10 +18,10 @@ use Illuminate\Support\Facades\Auth;
 
 class RejectedService
 {
-    private function conditionQuery(Request $request)
+    private function conditionQuery(array $param)
     {
         $user = Auth::user();
-        $rejectedBills = RejectedBill::query()->with('owner', 'logistic', 'items')->orderBy('id', 'desc')->whereIn('id_owner',
+        $rejectedBills = RejectedBill::query()->with('user','owner', 'logistic', 'items')->orderBy('rejected_bills.id', 'desc')->whereIn('rejected_bills.id_owner',
             $user ? $user->getPermittingOwnerIdsAttribute() : []);
         $columnQueryRules = [
             'created_at_start' => ['alias' => 'created_at', 'startDate' => ' 00:00:00'],
@@ -31,9 +31,10 @@ class RejectedService
             'logistic_number' => ['like' => ''],
             'mobile_sender' => ['like' => ''],
             'checked_numbers' => ['like' => ''],
+            'id' => ['multi' => ','],
         ];
-        if ($request->id_quality_label != '') {
-            if ($request->id_quality_label == 1) {
+        if ($param['id_quality_label'] ?? false) {
+            if ($param['id_quality_label'] == 1) {
                 $rejectedBills->whereDoesntHave('items', function ($query) {
                     $query->where('id_quality_label', 2);
                 });
@@ -42,58 +43,80 @@ class RejectedService
                     $query->where('id_quality_label', 2);
                 });
             }
-            $request->offsetUnset('id_quality_label');
+            unset($param['id_quality_label']);
         }
-        if ($request->is_checked != '') {
-            if (!$request->is_checked)
-                $rejectedBills = $rejectedBills->where(function ($query) {
-                    $query->where('is_checked', false)
-                        ->orWhere('is_checked', null);
-                });
-            else {
-                $rejectedBills = $rejectedBills->where('is_checked', true);
-            }
-            $request->offsetUnset('is_checked');
+        if ($param["is_checked"]??''){
+            $rejectedBills = $rejectedBills->where('is_checked', true);
+        }
+        else {
+            $rejectedBills = $rejectedBills->where(function ($query) {
+                $query->where('is_checked', false)
+                    ->orWhere('is_checked', null);
+            });
+        }
+        if(isset($param["is_checked"])){
+            unset($param["is_checked"]);
         }
-        if ($request->is_loaded != '') {
-            $is_loaded = $request->is_loaded;
+        if ($param["is_loaded"] ?? false) {
+            $is_loaded = $param["is_loaded"];
             if ($is_loaded == 'null') $is_loaded = null;
             $rejectedBills = $rejectedBills->where('is_loaded', $is_loaded);
-            $request->offsetUnset('is_loaded');
+            unset($param["is_loaded"]);
         }
-        if ($request->barcode_goods != '') {
-            $barcode_goods = $request->barcode_goods;
+        if ($param["barcode_goods"] ?? false) {
+            $barcode_goods = $param["barcode_goods"];
             $rejectedBills->whereHas('items', function ($query) use ($barcode_goods) {
                 $query->where('barcode_goods', 'like', trim($barcode_goods) . '%');
             });
-            $request->offsetUnset('barcode_goods');
+            unset($param["barcode_goods"]);
         }
-        if ($request->logistic_number_return) {
-            if (strpos($request->logistic_number_return, ',') || strpos($request->logistic_number_return, ',') || strpos($request->logistic_number_return, ' ')) {
-                $arr = array_filter(preg_split('/[,, ]+/is', $request->logistic_number_return));
+        if ($param["logistic_number_return"] ?? false) {
+            if (strpos($param["logistic_number_return"], ',') || strpos($param["logistic_number_return"], ',') || strpos($param["logistic_number_return"], ' ')) {
+                $arr = array_filter(preg_split('/[,, ]+/is', $param["logistic_number_return"]));
                 $rejectedBills = $rejectedBills->whereIn('logistic_number_return', $arr);
-                $request->offsetUnset('logistic_number_return');
+                unset($param["logistic_number_return"]);
             } else {
                 $columnQueryRules['logistic_number_return'] = ['timeLimit' => 15];
             }
         }
-        $rejectedBills = app(QueryService::class)->query($request, $rejectedBills, $columnQueryRules);
+        $rejectedBills = app(QueryService::class)->query($param, $rejectedBills, $columnQueryRules,"rejected_bills");
         return $rejectedBills;
     }
 
     public function paginate(Request $request)
     {
-        return $this->conditionQuery($request)->paginate($request->paginate ?? 50);
+        return $this->conditionQuery($request->input())->paginate($request->paginate ?? 50);
     }
 
     public function get(Request $request)
     {
-        return $this->conditionQuery($request)->get();
+        return $this->conditionQuery($request->input())->get();
+    }
+    public function getSql(array $param){
+        $sql = $this->conditionQuery($param)->selectRaw('rejected_bills.*')
+            ->leftJoin('owners','rejected_bills.id_owner','=','owners.id')
+            ->selectRaw('owners.name owner_name')
+            ->leftJoin('logistics','rejected_bills.id_logistic_return','=','logistics.id')
+            ->selectRaw('logistics.name logistic_name')
+            ->leftJoin('rejected_bill_items','rejected_bills.id','=','rejected_bill_items.id_rejected_bill')
+            ->selectRaw('rejected_bill_items.created_at item_created_at,
+                rejected_bill_items.barcode_goods item_barcode,
+                rejected_bill_items.name_goods item_name,
+                rejected_bill_items.amount item_amount,
+                rejected_bill_items.batch_number item_batch_number,
+                rejected_bill_items.made_at item_made_at,
+                rejected_bill_items.validity_at item_validity_at,
+                rejected_bill_items.remark item_remark')
+            ->leftJoin('quality_labels','rejected_bill_items.id_quality_label','=','quality_labels.id')
+            ->selectRaw('quality_labels.name quality_label_name')
+            ->leftJoin('users','rejected_bills.id_operator','=','users.id')
+            ->selectRaw('users.id operator_name');
+        return $sql->sql();
     }
 
     public function exportData(Request $request)
     {
-        $rejectedBills = $this->conditionQuery($request);
+        $rejectedBills = $this->conditionQuery($request->input());
         if ($rejectedBills->count() > RejectedExport::$max) {
             $rejectedBills->where('is_finished', false);
         }

+ 7 - 2
app/Services/WaveService.php

@@ -123,8 +123,7 @@ class WaveService
         return ['page' => $page, 'paginate' => $paginate, 'start_time' => $start_time, 'end_time' => $end_time, 'wave_num' => $wave_num, 'wave_status' => $wave_status,];
     }
 
-    public function downloadExec(Request $request)
-    {
+    public function getSql(Request $request){
         $childSql = "( select row_number() over (order by addTime desc ) nums,UdfPrintFlag2,WaveNo,WaveStatus,Descr,CarrierID,WaveDispatchID,addWho,addTime,WaveRule,UserDefine1,UserDefine2 from doc_wave_header where 1=1 ";
         if ($request->input('start_time')) {
             $childSql .= " and addTime > '" . $request->input('start_time') . " 00:00:00' ";
@@ -161,6 +160,12 @@ class WaveService
         $sql .= $childSql;
         $sql .= " left join BAS_CUSTOMER  customer on  customer.CustomerID  = wave_header.CarrierID and customer.CUSTOMER_TYPE = 'CA'";
         $sql .= " left join BAS_CODES codes on wave_header.WaveStatus = codes.CODE and codes.codeId = 'SO_STS'";
+        return $sql;
+    }
+
+    public function downloadExec(Request $request)
+    {
+        $sql = $this->getSql($request);
         $data = DB::connection('oracle')->select(DB::raw($sql));
         return $data;
     }

+ 1 - 1
app/Services/WaybillService.php

@@ -32,7 +32,7 @@ Class WaybillService
             'created_at_end' => ['alias' => 'created_at' , 'endDate' => ' 23:59:59'],
             'uriType' => ['alias' => 'type']
         ];
-        $waybills = app(QueryService::class)->query($request,$waybills,$columnQueryRules,"waybills");
+        $waybills = app(QueryService::class)->query($request->input(),$waybills,$columnQueryRules,"waybills");
         return $waybills;
     }
 

+ 13 - 13
app/Services/common/QueryService.php

@@ -12,23 +12,23 @@ Class QueryService
     /**
      * parameter - query(sql) - special column description
      *
-     * @param Request $request
+     * @param array $params
      * @param object $query
      * @param array $columnQueryRules
      * @param string $tableName
      * @return object
      */
-    public function query(Request $request,$query,array $columnQueryRules,$tableName = null)
+    public function query(array $params,$query,array $columnQueryRules,$tableName = null)
     {
         if ($tableName) $tableName .= ".";
-        foreach ($request->input() as $param => $value){
+        foreach ($params as $param => $value){
             if ($param === 'paginate' || $param === 'page')continue;
             if (!$value || isset($columnQueryRules[$param]))continue;
             $query = $query->where($tableName.$param,$value);
         }
         //rules: alias timeLimit startDate endDate like multi
         foreach ($columnQueryRules as $param => $rules){
-            if (!$request->input($param))continue;
+            if (!($params[$param] ?? false))continue;
             $isExecute = true;
             $column = $param;
             foreach ($rules as $rule => $value){
@@ -39,36 +39,36 @@ Class QueryService
                 if ($rule === 'timeLimit'){
                     $today=Carbon::now()->subDays($value);
                     $queryTemp=clone $query;
-                    $queryTemp=$queryTemp->where($tableName.$column,'like','%'.$request->input($param).'%')
+                    $queryTemp=$queryTemp->where($tableName.$column,'like','%'.$params[$param].'%')
                         ->where($tableName.'created_at','>',$today);
-                    if($queryTemp->count()==0 || $queryTemp->first()[$column]==$request->input($param)){
-                        $query=$query->where($tableName.$column,$request->input($param));
+                    if($queryTemp->count()==0 || $queryTemp->first()[$column]==$params[$param]){
+                        $query=$query->where($tableName.$column,$params[$param]);
                     }else{
-                        $query=$query->where($tableName.$column,'like','%'.$request->input($param).'%')
+                        $query=$query->where($tableName.$column,'like','%'.$params[$param].'%')
                             ->where($tableName.'created_at','>',$today);
                     }
                     $isExecute = true;
                 }
                 if ($rule === 'startDate'){
-                    $startDate = $request->input($param).$value;
+                    $startDate = $params[$param].$value;
                     $query = $query->where($tableName.$column,'>=',$startDate);
                     $isExecute = true;
                 }
                 if ($rule === 'endDate'){
-                    $endDate = $request->input($param).$value;
+                    $endDate = $params[$param].$value;
                     $query = $query->where($tableName.$column,'<=',$endDate);
                     $isExecute = true;
                 }
                 if ($rule === 'like'){
-                    $query = $query->where($tableName.$column,'like',$value.$request->input($param).$value);
+                    $query = $query->where($tableName.$column,'like',$value.$params[$param].$value);
                     $isExecute = true;
                 }
                 if ($rule === 'multi'){
-                    $query = $query->whereIn($tableName.$column,explode($value,$request->input($param)));
+                    $query = $query->whereIn($tableName.$column,explode($value,$params[$param]));
                     $isExecute = true;
                 }
             }
-            if (!$isExecute) $query = $query->where($tableName.$column,$request->input($param));
+            if (!$isExecute) $query = $query->where($tableName.$column,$params[$param]);
         }
         return $query;
     }

+ 7 - 0
config/go.php

@@ -0,0 +1,7 @@
+<?php
+
+return [
+    "export" => [
+        "url" => "http://localhost:8090"
+    ],
+];

+ 1 - 18
resources/views/order/wave/search.blade.php

@@ -208,24 +208,7 @@
                     let url = window.location.search ;
                     url = url.length< 2 ? '' : url.substring(1);
                     console.log(search,url);
-                    window.open("{{url('oder/wave/exportExcel?')}}"+search+url);
-                    // todo
-                   /* let instance = axios.create({
-                        {{--url:'{{url("wave/exportExcel")}}',--}}
-                        responseType:'blob',
-                        data:data,
-                    });
-                    instance.post().then(function(res){
-                        let blob =  res.data;
-                        let url = URL.createObjectURL(blob);
-                        let fileName = new Date().toLocaleDateString() + "--波次记录.xml";
-                        let a = document.createElement('a');
-                        $("body").append($(a).attr("href",url).attr("download",fileName)) ;
-                        a.click();
-                        a.remove()
-                    }).catch(function(err){
-                        console.log("err",err);
-                    });*/
+                    window.open("{{url('order/wave/exportExcel?')}}"+search+url);
                 },
                 getSearch(){
                     let search = window.location.search,data = {};