Explorar el Código

导出服务迁移
亮灯解注

Zhouzhendong hace 5 años
padre
commit
13b49f5bac
Se han modificado 31 ficheros con 393 adiciones y 309 borrados
  1. 19 48
      app/Http/Controllers/CustomerController.php
  2. 2 1
      app/Http/Controllers/DeliveryAppointmentController.php
  3. 5 3
      app/Http/Controllers/DischargeTaskController.php
  4. 2 1
      app/Http/Controllers/FacilitatorController.php
  5. 2 1
      app/Http/Controllers/FacilitatorExternalController.php
  6. 23 7
      app/Http/Controllers/InventoryAccountController.php
  7. 14 8
      app/Http/Controllers/InventoryCompareController.php
  8. 41 35
      app/Http/Controllers/InventoryController.php
  9. 3 5
      app/Http/Controllers/LaborReportController.php
  10. 27 2
      app/Http/Controllers/OrderController.php
  11. 2 26
      app/Http/Controllers/OrderIssueController.php
  12. 12 11
      app/Http/Controllers/OrderIssuePerformanceController.php
  13. 2 1
      app/Http/Controllers/OrderTrackingController.php
  14. 3 2
      app/Http/Controllers/PriceModelController.php
  15. 14 8
      app/Http/Controllers/ProcessController.php
  16. 3 1
      app/Http/Controllers/ProcessStatisticController.php
  17. 5 6
      app/Http/Controllers/ProcurementController.php
  18. 26 16
      app/Http/Controllers/RejectedController.php
  19. 4 7
      app/Http/Controllers/StorageController.php
  20. 2 10
      app/Http/Controllers/StoreCheckingReceiveController.php
  21. 16 25
      app/Http/Controllers/TestController.php
  22. 14 8
      app/Http/Controllers/WaveController.php
  23. 16 9
      app/Http/Controllers/WaybillController.php
  24. 23 8
      app/Http/Controllers/WaybillFinancialSnapshotsController.php
  25. 16 22
      app/Http/Controllers/WeighController.php
  26. 21 16
      app/Http/Controllers/WeighExceptedController.php
  27. 3 3
      app/Services/CacheShelfService.php
  28. 7 0
      bootstrap/cache/packages.php
  29. 20 18
      bootstrap/cache/services.php
  30. 1 0
      composer.json
  31. 45 1
      composer.lock

+ 19 - 48
app/Http/Controllers/CustomerController.php

@@ -26,6 +26,7 @@ use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Validator;
+use Oursdreams\Export\Export;
 
 class CustomerController extends Controller
 {
@@ -85,14 +86,7 @@ class CustomerController extends Controller
                 $report->ownerBillReport ? (string)$report->ownerBillReport->updated_at : '',
             ];
         }
-        $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(["row"=>$column,"list"=>$list],JSON_UNESCAPED_UNICODE)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=客户项目报表-".date('ymdHis').'.xlsx',
-        ]);
+        return Export::make($column,$list,"客户项目报表");
     }
 
     public function projectIndex()
@@ -146,14 +140,7 @@ class CustomerController extends Controller
                 $owner->description
             ];
         }
-        $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(["row"=>$column,"list"=>$list],JSON_UNESCAPED_UNICODE)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=客户报表-".date('ymdHis').'.xlsx',
-        ]);
+        return Export::make($column,$list,"客户报表");
     }
 
     public function projectCreate()
@@ -299,15 +286,7 @@ class CustomerController extends Controller
                 $area->accounting_area,
             ];
         }
-
-        $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(["row"=>$column,"list"=>$list],JSON_UNESCAPED_UNICODE)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=项目面积报表-".date('ymdHis').'.xlsx',
-        ]);
+        return Export::make($column,$list,"项目面积报表");
     }
 
     public function financeInstantBill(Request $request)
@@ -328,22 +307,22 @@ class CustomerController extends Controller
         if ($request->checkAllSign)unset($params['checkAllSign']);
         else $params = ["id"=>$request->data];
         $sql = app('OwnerFeeDetailService')->getSql($params);
-
-        $row = ["客户", "项目", "作业时间", "类型","店铺", "单号(发/收/退/提)", "收件人", "收件人电话", "商品数量",
-            "物流/快递单号", "体积", "重量", "承运商", "操作费", "物流费", "合计"];
-        $column = ["customer_name", "owner_name", "worked_at", "type","shop_name", "operation_bill", "consignee_name", "consignee_phone", "commodity_amount",
-            "logistic_bill", "volume", "weight", "logistic_name", "work_fee", "logistic_fee", "total"];
         $rule = ["work_fee"=>"mysqlDate"];
 
-        $post = Http::post(config('go.export.url'),['type'=>'unify','sql'=>$sql, 'connection'=>'mysql',
-            'row'=>json_encode($row,JSON_UNESCAPED_UNICODE), 'column'=>json_encode($column), 'rule'=>json_encode($rule)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=即时账单记录-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("即时账单记录");
+        return $e->sql($sql,[
+            "customer_name"=>"客户","owner_name"=>"项目",
+            "worked_at"=>"作业时间","type"=>"类型",
+            "shop_name"=>"店铺","operation_bill"=>"单号(发/收/退/提)",
+            "consignee_name"=>"收件人","consignee_phone"=>"收件人电话",
+            "commodity_amount"=>"商品数量","logistic_bill"=>"物流/快递单号",
+            "volume"=>"体积","weight"=>"重量","logistic_name"=>"承运商",
+            "work_fee"=>"操作费","logistic_fee"=>"物流费","total"=>"合计"
+        ],$rule)->direct();
     }
 
     public function financeBillConfirmation(Request $request)
@@ -388,15 +367,7 @@ class CustomerController extends Controller
                 $bill->confirmed == '是' ? '已确认' : '未确认',
             ];
         }
-
-        $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(["row"=>$column,"list"=>$list],JSON_UNESCAPED_UNICODE)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=客户账单报表-".date('ymdHis').'.xlsx',
-        ]);
+        return Export::make($column,$list,"客户账单报表");
     }
 
     public function updateBillReport(Request $request)

+ 2 - 1
app/Http/Controllers/DeliveryAppointmentController.php

@@ -20,6 +20,7 @@ use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Validator;
+use Oursdreams\Export\Export;
 
 class DeliveryAppointmentController extends Controller
 {
@@ -369,7 +370,7 @@ class DeliveryAppointmentController extends Controller
                 $data->created_at
             ];
         }
-        return app(ExportService::class)->json($row,$list,"预约记录");
+        return Export::make($row,$list,"预约记录");
     }
 
     private function carList($period,$date,$warehouse)

+ 5 - 3
app/Http/Controllers/DischargeTaskController.php

@@ -10,9 +10,9 @@ use App\Http\Requests\DischargeTask\DischargeTaskRequest;
 use App\Services\common\ExportService;
 use App\Services\OwnerService;
 use App\Warehouse;
-use Carbon\Carbon;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
+use Oursdreams\Export\Export;
 use function Sodium\compare;
 
 class DischargeTaskController extends Controller
@@ -120,7 +120,8 @@ class DischargeTaskController extends Controller
         $row = ['日期', '客户名称', '作业名称', '入库单号', '数量', '单位', '单价', '收费', '状态', '备注'];
         $json = app('DischargeTaskService')->getJson($dischargeTasks);
 
-        return app(ExportService::class)->json($row, $json, "卸货任务");
+        return Export::make($row, $json, "卸货任务");
+        //return app(ExportService::class)->json($row, $json, "卸货任务");
     }
 
     // 结算报表下载
@@ -133,7 +134,8 @@ class DischargeTaskController extends Controller
         $row = ['日期', '客户名称','仓库', '作业名称', '入库单号', '数量', '单位', '收入单价', '收入合计', '装卸队', '数量', '单位', '支出单价', '支出合计', '状态', '收入备注', '支出备注'];
         $json = app('DischargeTaskService')->getStatementsJson($dischargeTasks);
 
-        return app(ExportService::class)->json($row, $json, "卸货结算报表");
+        return Export::make($row, $json, "卸货结算报表");
+        //return app(ExportService::class)->json($row, $json, "卸货结算报表");
     }
 
     // 回执单

+ 2 - 1
app/Http/Controllers/FacilitatorController.php

@@ -13,6 +13,7 @@ use App\Services\FacilitatorService;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
+use Oursdreams\Export\Export;
 
 class FacilitatorController extends Controller
 {
@@ -116,7 +117,7 @@ class FacilitatorController extends Controller
 
         $json = app('DischargeTaskService')->getFacilitatorStatementsJson($facilitatorStatements);
 
-        return app(ExportService::class)->json($row, $json, "装卸队对账单报表");
+        return Export::make($row, $json, "装卸队对账单报表");
     }
 
 

+ 2 - 1
app/Http/Controllers/FacilitatorExternalController.php

@@ -11,6 +11,7 @@ use App\Services\DischargeTaskService;
 use App\Services\FacilitatorService;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Http\Request;
+use Oursdreams\Export\Export;
 
 class FacilitatorExternalController extends Controller
 {
@@ -55,7 +56,7 @@ class FacilitatorExternalController extends Controller
         $row = ['日期', '装卸队', '数量', '单位', '单价', '总金额合计'];
         $json = app('DischargeTaskService')->getFacilitatorStatementsJson($facilitatorStatements);
 
-        return app(ExportService::class)->json($row, $json, "卸货结算报表");
+        return Export::make($row, $json, "卸货结算报表");
     }
 
 }

+ 23 - 7
app/Http/Controllers/InventoryAccountController.php

@@ -411,14 +411,30 @@ class InventoryAccountController extends Controller
         if (!Gate::allows("库存管理-盘点")) {
             return redirect(url('/'));
         }
-        $post = Http::post(config('go.export.url'), ['type' => 'inventoryAccountMission', 'data' => $request->data]);
-        if ($post->status() == 500) {
-            throw new Exception($post->header("Msg"));
+        $list = [];
+        foreach (json_decode($request->data,true) as $item){
+            $list[] = [
+                $item["location"],
+                $item["commodity_name"],
+                $item["commodity_barcode"],
+                $item["commodity_sku"],
+                $item["produced_at"],
+                $item["valid_at"],
+                $item["batch_number"],
+                $item["stock_person"],
+                $item["erp_type_position"],
+                $item["quality"],
+                $item["stored_amount"],
+                $item["valid_amount"],
+                $item["verified_amount"],
+                $item["re_checked_amount"],
+                $item["difference_amount"],
+                $item["occupied_amount"],
+                $item["mark"],
+            ];
         }
-        return response($post, 200, [
-            "Content-type" => "application/octet-stream",
-            "Content-Disposition" => "attachment; filename=库存盘点记录-" . date('ymdHis') . '.xlsx',
-        ]);
+        return \Oursdreams\Export\Export::make(["库位","产品名","商品条码","商品编码","生产日期","失效日期","批号","盘点人","ERP属性仓","质量状态","库存数量",
+            "可用数量","盘点数量","复盘数量","复盘差异","分配数量","状态"],$list,"库存盘点记录");
     }
 
     public function searchCommodityByBarcode(Request $request)

+ 14 - 8
app/Http/Controllers/InventoryCompareController.php

@@ -12,6 +12,7 @@ use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Maatwebsite\Excel\Facades\Excel;
+use Oursdreams\Export\Export;
 
 class InventoryCompareController extends Controller
 {
@@ -138,13 +139,18 @@ class InventoryCompareController extends Controller
         }else{
             $sql=app('InventoryCompareService')->getSql(['id'=>$request->data]);
         }
-        $post = Http::post(config('go.export.url'),['type'=>'inventoryCompare','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=库存对比记录-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("库存对比记录");
+        return $e->sql($sql,[
+            "owner_name"=>"货主","mission_code"=>"任务号",
+            "created_at"=>"生产时间","commodity_name"=>"商品名称",
+            "commodity_sku"=>"商品编码","commodity_barcode_code"=>"商品条码",
+            "custom_location"=>"属性仓","quality"=>"质量状态",
+            "amount_in_sys"=>"宝时库存","amount_in_compare"=>"参考库存",
+            "differ"=>"差值"
+        ])->direct();
     }
 }

+ 41 - 35
app/Http/Controllers/InventoryController.php

@@ -12,6 +12,7 @@ use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Oursdreams\Export\Export;
 
 class InventoryController extends Controller
 {
@@ -52,17 +53,19 @@ class InventoryController extends Controller
             $params = $request->input();
             unset($params['checkAllSign']);
             $sql=app('inventoryService')->getSql($request->input());
-            $post = Http::post(config('go.export.url'),['type'=>'inventory','sql'=>$sql]);
-        }else {
-            $post = Http::post(config('go.export.url'), ['type' => 'inventory', 'data' => $request->data]);
-        }
-        if ($post->status() == 500){
-            throw new \Exception($post->header("Msg"));
-        }
-        return response($post, 200, [
-            "Content-type" => "application/octet-stream",
-            "Content-Disposition" => "attachment; filename=库存记录-" . date('ymdHis') . '.xlsx',
-        ]);
+            $e = new Export();
+            $e->setOracleConnection(config('database.connections.oracle.host'),
+                config('database.connections.oracle.port'),config('database.connections.oracle.database')
+                ,config('database.connections.oracle.username'),config('database.connections.oracle.password'));
+            $e->setFileName("动库报表");
+            return $e->sql($sql,[
+                "货主"=>"货主","库位"=>"库位",
+                "产品编码"=>"产品编码","产品条码"=>"产品条码",
+                "商品名称"=>"商品名称","属性仓"=>"属性仓",
+                "质量状态"=>"质量状态","失效日期"=>"失效日期",
+                "批号"=>"批号","移出数量"=>"移出数量","移入数量"=>"移入数量"
+            ])->direct();
+        }else return "暂时关闭,如需开启请联系管理员";
     }
     public function exportAllInventory(Request $request){
         if(!Gate::allows("库存管理-库存")){ return redirect(url('/'));  }
@@ -70,17 +73,19 @@ class InventoryController extends Controller
             $params = $request->input();
             unset($params['checkAllSign']);
             $sql=app('AllInventoryService')->getSql($request->input());
-            $post = Http::post(config('go.export.url'),['type'=>'allInventory','sql'=>$sql]);
-        }else{
-            $post = Http::post(config('go.export.url'),['type'=>'allInventory','data'=>$request->data]);
-        }
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=全部库存-".date('ymdHis').'.xlsx',
-        ]);
+            $e = new Export();
+            $e->setOracleConnection(config('database.connections.oracle.host'),
+                config('database.connections.oracle.port'),config('database.connections.oracle.database')
+                ,config('database.connections.oracle.username'),config('database.connections.oracle.password'));
+            $e->setFileName("全部库存");
+            return $e->sql($sql,[
+                "货主"=>"货主","库位"=>"库位",
+                "产品编码"=>"产品编码","产品条码"=>"产品条码",
+                "商品名称"=>"商品名称","属性仓"=>"属性仓",
+                "质量状态"=>"质量状态","失效日期"=>"失效日期",
+                "批号"=>"批号"
+            ])->direct();
+        }else return "暂时关闭,如需开启请联系管理员";
     }
 
     /*
@@ -119,19 +124,20 @@ class InventoryController extends Controller
 
         }else $sql=app('InventoryDailyLogService')->getSql(['id'=>$request->data]);
 
-        $row = ["货主","日期","商品名称","商品编码","商品条码","属性仓","在库数量","长","宽","高","体积","总占用体积","总毛重"];
-        $column = ["owner_name", "created_at", "commodity_name", "commodity_sku", "commodity_barcode_code","depository_name",
-            "amount", "commodity_length", "commodity_width", "commodity_height", "commodity_volumn", "volumn_occupied", "gross_weight"];
         $rule = ["created_at"=> "mysqlDate"];
-        $post = Http::post(config('go.export.url'),['type'=>'unify','sql'=>$sql, 'connection'=>'mysql',
-            'row'=>json_encode($row,JSON_UNESCAPED_UNICODE), 'column'=>json_encode($column), 'rule'=>json_encode($rule)]);
-
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=库存体积记录-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("库存体积");
+        return $e->sql($sql,[
+            "owner_name"=>"货主","created_at"=>"日期",
+            "commodity_name"=>"商品名称","commodity_sku"=>"商品编码",
+            "commodity_barcode_code"=>"商品条码","depository_name"=>"属性仓",
+            "amount"=>"在库数量","commodity_length"=>"长",
+            "commodity_width"=>"宽","commodity_height"=>"高",
+            "commodity_volumn"=>"体积","volumn_occupied"=>"总占用体积",
+            "gross_weight"=>"总毛重"
+        ],$rule)->direct();
     }
 }

+ 3 - 5
app/Http/Controllers/LaborReportController.php

@@ -5,7 +5,6 @@ namespace App\Http\Controllers;
 use App\Events\ClockoutEvent;
 use App\Events\GuardAuditEvent;
 use App\Events\TeamAuditEvent;
-use App\Exports\Export;
 use App\LaborCompany;
 use App\LaborReport;
 use App\LaborReportStatus;
@@ -14,12 +13,10 @@ use App\Services\LaborReportService;
 use App\UserDutyCheck;
 use App\UserWorkgroup;
 use Carbon\Carbon;
-use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
-use Illuminate\Support\Facades\Http;
-use Maatwebsite\Excel\Facades\Excel;
+use Oursdreams\Export\Export;
 
 class LaborReportController extends Controller
 {
@@ -113,7 +110,8 @@ class LaborReportController extends Controller
                 $laborReport->remark,
             ];
         }
-        return app(ExportService::class)->json($row,$list,"临时工报表记录");
+        return Export::make($row,$list,"临时工报表记录");
+        //return app(ExportService::class)->json($row,$list,"临时工报表记录");
     }
 
     //门卫打卡审核

+ 27 - 2
app/Http/Controllers/OrderController.php

@@ -17,6 +17,7 @@ use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Oursdreams\Export\Export;
 
 class OrderController extends Controller
 {
@@ -62,14 +63,38 @@ class OrderController extends Controller
         }else{
             $req["sql"] = $orderService->getSql($request->input());
         }
-        $post = Http::post(config('go.export.url'),$req);
+        $e = new Export();
+        $e->setOracleConnection(config('database.connections.oracle.host'),
+            config('database.connections.oracle.port'),config('database.connections.oracle.database')
+        ,config('database.connections.oracle.username'),config('database.connections.oracle.password'));
+        if ($is_merge && $is_merge == 'true'){
+            $e->setMergeFormat([
+                "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P",
+                "Q","R","S","Z","AA","AB","AC","AD"
+            ]);
+            $e->setDatum("ORDERNO");
+        } else $e->setWarpTextFormat();
+        $e->setFileName("订单记录-".date('ymdHis'));
+        return $e->sql($req["sql"],[
+            "ORDERNO"=>"编号","ORDERCODENAME"=>"订单状态",
+            "NOTES"=>"备注","ADDTIME"=>"接口下发时间",
+            "ISSUEPARTYNAME"=>"店铺名称","CUSTOMER_DESCR_C"=>"客户",
+            "SOREFERENCE1"=>"客户订单号","CARRIERNAME"=>"承运人",
+            "SOREFERENCE5"=>"快递单号","C_CONTACT"=>"收货人名称","C_TEL2"=>"收货人电话",
+            "C_PROVINCE"=> "省","C_CITY"=>"市","C_DISTRICT"=>"区","C_ADDRESS1"=>"收货人地址",
+            "WAVENO"=>"波次编号","WAREHOUSEID"=>"仓库","EDISENDFLAG2"=>"快递获取标记","EDISENDTIME2"=>"快递获取时间",
+            "SKU"=>"产品代码","ALTERNATE_SKU1"=>"产品条码","ORDERDETAILCODENAME"=>"明细状态","DESCR_C"=> "产品名称",
+            "QTYORDERED"=>"订单数量","CHECKTIME"=>"复核时间","ERPCANCELFLAG"=>"接口取消标记",
+            "PICKING_PRINT_FLAG"=>"拣货单打印标记","EDISENDFLAG"=>"接口回传标记","EDIREMARKS2"=>"接口回传异常备注",
+            "RELEASESTATUS"=>"订单冻结"])->direct();
+        /*$post = Http::post(config('go.export.url'),$req);
         if ($post->status() == 500){
             throw new Exception($post->header("Msg"));
         }
         return response($post,200, [
             "Content-type"=>"application/octet-stream",
             "Content-Disposition"=>"attachment; filename=订单记录-".date('ymdHis').'.xlsx',
-        ]);
+        ]);*/
     }
 
     public function createRejectedBill(Request $request){

+ 2 - 26
app/Http/Controllers/OrderIssueController.php

@@ -32,6 +32,7 @@ use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Validator;
 use Maatwebsite\Excel\Facades\Excel;
+use Oursdreams\Export\Export;
 
 class OrderIssueController extends Controller
 {
@@ -135,31 +136,6 @@ class OrderIssueController extends Controller
         }
     }
 
-    public function exportOrderIssue(Request $request)
-    {
-        ini_set('max_execution_time', 2500);
-        ini_set('memory_limit', '1526M');
-        if (!Gate::allows('订单管理-问题件-查询')) {
-            return redirect(url('/'));
-        }
-        if ($request->checkAllSign){
-            $params = $request->input();
-            unset($params['checkAllSign']);
-
-            $sqlList = app('OrderIssueService')->getSqlList($params);
-        }else{
-            $sqlList = app('OrderIssueService')->getSqlList(['id'=>$request->data,"is_handle"=>true]);
-        }
-        $post = Http::post(config('go.export.url'),['type'=>'orderIssue','sqlList'=>json_encode($sqlList),'createFormat'=>'merge']);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=订单问题件-".date('ymdHis').'.xlsx',
-        ]);
-    }
-
     public function excelImport()
     {
         if (!Gate::allows('订单管理-问题件-导入')) {
@@ -699,7 +675,7 @@ class OrderIssueController extends Controller
 //                $order_issue->userOwnerGroup->name ?? '',
             ];
         }
-        return app(ExportService::class)->json($row,$json,"订单问题件");
+        return Export::make($row,$json,"订单问题件");
     }
 
     public function recycleBin(Request $request)

+ 12 - 11
app/Http/Controllers/OrderIssuePerformanceController.php

@@ -8,6 +8,7 @@ use Illuminate\Http\Request;
 use Exception;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Oursdreams\Export\Export;
 
 class OrderIssuePerformanceController extends Controller
 {
@@ -35,17 +36,17 @@ class OrderIssuePerformanceController extends Controller
         /** @var OrderIssuePerformanceService  $orderIssuePerformanceService */
         $orderIssuePerformanceService = app(OrderIssuePerformanceService::class);
         $sql = $orderIssuePerformanceService->getSql($request->all());
-        $row = ['客服','客户','创建数','处理数','完结数','总数'];
-        $column = ['userName','ownerName','created','process','end','sumNumber'];
-        $post = Http::post(config('go.export.url'),['type'=>'unify','sql'=>$sql, 'connection'=>'mysql',
-            'row'=>json_encode($row,JSON_UNESCAPED_UNICODE), 'column'=>json_encode($column)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=客服绩效-".date('ymdHis').'.xlsx',
-        ]);
+
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("客服绩效");
+        return $e->sql($sql,[
+            "userName"=>"客服","ownerName"=>"客户",
+            "created"=>"创建数","process"=>"处理数",
+            "end"=>"完结数","sumNumber"=>"总数",
+        ])->direct();
     }
 
     public function workLoadPage(Request $request)

+ 2 - 1
app/Http/Controllers/OrderTrackingController.php

@@ -13,6 +13,7 @@ use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
 use Intervention\Image\Facades\Image;
+use Oursdreams\Export\Export;
 use Ramsey\Uuid\Uuid;
 
 class OrderTrackingController extends Controller
@@ -222,7 +223,7 @@ class OrderTrackingController extends Controller
                 $orderTracking->remark,
             ];
         }
-        return app(ExportService::class)->json($row,$list,'订单跟踪件');
+        return Export::make($row,$list,'订单跟踪件');
     }
 
     public function destroyImg(Request $request)

+ 3 - 2
app/Http/Controllers/PriceModelController.php

@@ -30,6 +30,7 @@ use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Validator;
 use Maatwebsite\Excel\Facades\Excel;
+use Oursdreams\Export\Export;
 
 class PriceModelController extends Controller
 {
@@ -722,7 +723,7 @@ class PriceModelController extends Controller
                 $detail->additional_weight_price,
             ];
         }
-        return app(ExportService::class)->json($row,$list,"快递计费模型");
+        return Export::make($row,$list,"快递计费模型");
     }
 
     public function logisticImport(Request $request)
@@ -794,7 +795,7 @@ class PriceModelController extends Controller
                 $detail->rate ? $detail->rate."%" : '',
             ];
         }
-        return app(ExportService::class)->json($row,$list,"物流计费模型");
+        return Export::make($row,$list,"物流计费模型");
     }
 
     public function logisticUpdateDetail(Request $request)

+ 14 - 8
app/Http/Controllers/ProcessController.php

@@ -30,6 +30,7 @@ use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Validator;
+use Oursdreams\Export\Export;
 use Ramsey\Uuid\Uuid;
 
 class ProcessController extends Controller
@@ -1106,14 +1107,19 @@ class ProcessController extends Controller
             unset($params['checkAllSign']);
             $sql = app('ProcessService')->getSql($params);
         }else $sql = app('ProcessService')->getSql(["id"=>$request->data]);
-        $post = Http::post(config('go.export.url'),['type'=>'process','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=二次加工记录-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("二次加工记录-".date('ymdHis'));
+        return $e->sql($sql,[
+            "code"=>"任务号","owner_name"=>"货主",
+            "process_method_name"=>"加工类型","amount"=>"预期数量",
+            "completed_amount"=>"实际数量","status"=>"状态",
+            "remark"=>"加工备注","unit_price"=>"单价",
+            "created_at"=>"提交日期","content_bill_type"=>"单据类型","content_wms_code"=>"单据号",
+            "commodity_sku"=> "商品编码","commodity_name"=>"商品名称","commodity_barcode_code"=>"商品条码",
+            "content_amount"=>"本次数量","process_balance_remark"=>"结算备注"])->direct();
     }
 
     public function validatorProcessContent(array $processContent){

+ 3 - 1
app/Http/Controllers/ProcessStatisticController.php

@@ -9,6 +9,7 @@ use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Oursdreams\Export\Export;
 
 class ProcessStatisticController extends Controller
 {
@@ -59,6 +60,7 @@ class ProcessStatisticController extends Controller
                 $process->process->balance_remark ?? "",
             ];
         }
-        return app(ExportService::class)->json($row,$list,"二次加工统计记录");
+        return Export::make($row,$list,"二次加工统计记录");
+        //return app(ExportService::class)->json($row,$list,"二次加工统计记录");
     }
 }

+ 5 - 6
app/Http/Controllers/ProcurementController.php

@@ -14,14 +14,12 @@ use App\Jobs\ProcurementEnquiry;
 use App\Jobs\ProcurementReceive;
 use App\Jobs\ProcurementWaitConfirmInform;
 use App\Material;
-use App\Owner;
 use App\Procurement;
 use App\ProcurementCheckSheet;
 use App\ProcurementDeliverie;
 use App\ProcurementTotalBill;
 use App\Services\common\ExportService;
 use App\Services\ConfigurationService;
-use App\Services\LogService;
 use App\Services\OwnerMaterialService;
 use App\Services\ProcurementService;
 use App\Services\ProcurementTotalBillService;
@@ -32,6 +30,7 @@ use Illuminate\Support\Carbon;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
 use Matrix\Builder;
+use Oursdreams\Export\Export;
 
 class ProcurementController extends Controller
 {
@@ -420,7 +419,7 @@ class ProcurementController extends Controller
                 $procurement->ownerMaterial->owner->customer ? $procurement->ownerMaterial->owner->customer->phone :'',
             ];
         }
-        return app(ExportService::class)->json($row,$list,"采购管理-采购报表记录");
+        return Export::make($row,$list,"采购管理-采购报表记录");
     }
     //对账单报表导出
     public function checkBillExport(Request $request,ProcurementCheckSheetFilters $filters){
@@ -459,7 +458,7 @@ class ProcurementController extends Controller
                 is_null($procurementCheckSheet->status) ? '' :$procurementCheckSheetStatus[$procurementCheckSheet->status],
             ];
         }
-        return app(ExportService::class)->json($row,$list,"采购管理-对账单报表记录");
+        return Export::make($row,$list,"采购管理-对账单报表记录");
     }
     //采购账单导出
     public function procurementBillExport(Request $request,ProcurementFilters $filters){
@@ -512,7 +511,7 @@ class ProcurementController extends Controller
                 is_null($procurement->status) ? '' :$procurementStatus[$procurement->status],
             ];
         }
-        return app(ExportService::class)->json($row,$list,"采购账单报表记录");
+        return Export::make($row,$list,"采购账单报表记录");
     }
     //月账单报表导出
     public function procurementTotalBillExport(Request $request){
@@ -539,6 +538,6 @@ class ProcurementController extends Controller
                 $procurementTotalBill->status ? $procurementTotalBillStatus[$procurementTotalBill->status] :'',
             ];
         }
-        return app(ExportService::class)->json($row,$list,"采购管理-月账单报表记录");
+        return Export::make($row,$list,"采购管理-月账单报表记录");
     }
 }

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

@@ -29,6 +29,7 @@ use Illuminate\Support\Facades\Validator;
 use Illuminate\View\View;
 use Maatwebsite\Excel\Facades\Excel;
 use function foo\func;
+use Oursdreams\Export\Export;
 
 class RejectedController extends Controller
 {
@@ -407,14 +408,20 @@ class RejectedController extends Controller
             $param = ["id"=>$request->data];
         }
         $sql = app('RejectedService')->getSql($param);
-        $post = Http::post(config('go.export.url'),['type'=>'rejected','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=退货单列表-".date('ymdHis').'.xlsx',
-        ]);
+
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("退货单列表-".date('ymdHis'));
+        return $e->sql($sql,[
+            "created_at"=>"日期","checked_numbers"=>"审核号",
+            "owner_name"=>"客户名称","order_number"=>"订单号",
+            "sender"=>"姓名","mobile_sender"=>"手机",
+            "logistic_number"=>"原单单号","logistic_number_return"=>"退回单号","logistic_name"=>"退回公司",
+            "fee_collected"=>"到付费用","is_loaded"=>"是否入库",
+            "item_barcode"=>"商品条码","item_name"=>"商品名称"
+        ])->direct();
     }
 
 
@@ -500,14 +507,17 @@ class RejectedController extends Controller
     public function exportAnalyze(Request $request){
         $searchParams = $this->getAnalyzeSearchParams($request);
         $sql = RejectedAnalyzeOwner::getQuerySQL($searchParams);
-        $post = Http::post(config('go.export.url'),['type'=>'rejectedStatistics','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=退货统计记录单-".date('ymdHis').'.xlsx',
-        ]);
+
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("退货统计记录单");
+        return $e->sql($sql,[
+            "owner_name"=>"货主名","bounce_amount"=>"退件单数",
+            "check_amount"=>"审核单数","uncheck_amount"=>"未审核单数",
+            "in_storage_count"=>"入库单数","not_in_storage_count"=>"未入库单数",
+        ])->direct();
     }
 
     public function apiGetRejectedByLogisticNumberReturn(Request $request){

+ 4 - 7
app/Http/Controllers/StorageController.php

@@ -52,14 +52,11 @@ sql;
                 }
             });
         }
-        $this->success("OK");
+        //亮灯
+        app("CacheShelfService")->_stationCacheLightOn($fromLocation,$ide);
+        $this->success();
         //呼叫海柔进行物理上架,无论是否成功 皆视为已上架,失败逻辑另行处理
-        $result = app("ForeignHaiRoboticsService")->putWareHousing($fromLocation,'',$box->id);
-        LogService::log(__CLASS__,$result ? "缓存架上架任务下达成功" : "缓存架上架任务下达失败",json_encode(request()->input()));
-        if ($result){
-            app("CacheShelfService")->_stationCacheLightOn($fromLocation,$ide); //亮灯
-            $this->success();
-        }else $this->error("上架失败,请联系管理员处理");
+        //app("ForeignHaiRoboticsService")->putWareHousing($fromLocation,'',$box->id);
     }
 
     public function fluxPA($asn,$ide,$amount)

+ 2 - 10
app/Http/Controllers/StoreCheckingReceiveController.php

@@ -14,6 +14,7 @@ use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Maatwebsite\Excel\Facades\Excel;
+use Oursdreams\Export\Export;
 
 class StoreCheckingReceiveController extends Controller
 {
@@ -246,16 +247,7 @@ class StoreCheckingReceiveController extends Controller
                 $item->unique_code,
             ];
         }
-        $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode([
-            'row'=>$row,'list'=>$list
-        ],JSON_UNESCAPED_UNICODE)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=盘收任务详情-".date('ymdHis').'.xlsx',
-        ]);
+        return Export::make($row,$list,"盘收任务单");
     }
 
     public function resetAmount(Request $request){

+ 16 - 25
app/Http/Controllers/TestController.php

@@ -200,35 +200,26 @@ class TestController extends Controller
         }
         dd("OK");
     }
-    public function test1()
-    {
-        $boxes = MaterialBox::query()->select('id',"code")->where("id",">",0)->where("code","like","IDE%")
-            ->where("status",4)->limit(10)->orderBy("id")
-            ->whereNotIn("id",StationTaskMaterialBox::query()->select("material_box_id")
-                ->where("status","!=","已完成")->groupBy("material_box_id"))
-            ->sql();
-        dd($boxes);
-        foreach ($stations as $station){
-            dump($station);
-            /*$box = app("MaterialBoxService")->getAnEmptyBox();
-            if (!$box)continue;
-            $task = StationTask::query()->create([
-                'status' => "待处理",
-                'station_id' => $station->id,
-            ]);
-            $collection = new \Illuminate\Database\Eloquent\Collection();
-            $collection->append(StationTaskMaterialBox::query()->create([
-                'station_id' => $station->id,
-                'material_box_id'=>$box->id,
-                'status'=>"待处理",
-                'type' => '取',
-                'station_task_id' => $task->id,
-            ]));
-            app("ForeignHaiRoboticsService")->fetchGroup($station->code,$collection,'','立架出至缓存架');*/
+    /**
+     * @param Integer[] $nums
+     * @param Integer $target
+     * @return Integer[]|null
+     */
+    function twoSum($nums, $target) {
+        $map=[];
+        for($i=0;$i<count($nums);$i++){
+            $complement=$target-$nums[$i];
+            if(array_key_exists($complement,$map)){
+                return [$map[$complement],$i];
+            }
+            $map[$nums[$i]]=$i;
         }
+        return null;
     }
     public function test()
     {
+        app("CacheShelfService")->_stationCacheLightOn("HAIB1-01-03","IDE0004463");
+        dd();
         $asnno = "ASN2105240178";
         $query = DB::raw("SELECT b.ALTERNATE_SKU1,h.WAREHOUSEID,h.asnno,d.ASNLINENO,d.SKUDESCRC,h.CUSTOMERID,d.SKU,d.PACKID,d.RECEIVEDQTY_EACH,d.EXPECTEDQTY_EACH,d.LOTATT01,d.LOTATT02,d.lotatt04,".
             "d.lotatt05,d.lotatt08,d.USERDEFINE1,d.USERDEFINE2,d.USERDEFINE3,d.USERDEFINE4,d.USERDEFINE5,d.RECEIVINGLOCATION FROM DOC_ASN_DETAILS d ".

+ 14 - 8
app/Http/Controllers/WaveController.php

@@ -13,6 +13,7 @@ use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Oursdreams\Export\Export;
 
 class WaveController extends Controller
 {
@@ -71,14 +72,19 @@ class WaveController extends Controller
 
     public function exportExcelOnParams(Request $request){
         $sql = app("WaveService")->getSql($request);
-        $post = Http::post(config('go.export.url'),['type'=>'orderWave','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=波次记录-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setOracleConnection(config('database.connections.oracle.host'),
+            config('database.connections.oracle.port'),config('database.connections.oracle.database')
+            ,config('database.connections.oracle.username'),config('database.connections.oracle.password'));
+        $e->setFileName("波次记录");
+        return $e->sql($sql,[
+            "WAVENO"=>"波次号","CODENAME_C"=>"波次状态",
+            "WAVERULE"=>"波次规则","DESCR"=>"波次描述",
+            "DESCR_C"=>"承运人","ADDWHO"=>"操作员",
+            "ADDTIME"=>"创建时间","pickerPrint"=>"拣货单打印人",
+            "pickerPrintTime"=>"拣货单打印时间","expressPrinting"=>"快递单号打印人",
+            "expressPrintTime"=>"快递单号打印时间"
+        ])->direct();
     }
     public function repairBatch()
     {

+ 16 - 9
app/Http/Controllers/WaybillController.php

@@ -36,6 +36,7 @@ use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Storage;
 use Illuminate\Support\Facades\Validator;
 use Intervention\Image\Facades\Image;
+use Oursdreams\Export\Export;
 use Ramsey\Uuid\Uuid;
 
 class WaybillController extends Controller
@@ -664,7 +665,7 @@ class WaybillController extends Controller
                 $waybill->created_at,
             ];
         });
-        return app(ExportService::class)->json($row,$list,"运输记录单");
+        return Export::make($row,$list,"运输记录单");
     }
 
     public function deliveringExport(Request $request){
@@ -675,14 +676,20 @@ class WaybillController extends Controller
         }else{
             $sql = app('waybillService')->getDeliveringSql(['id'=>$request->data]);
         }
-        $post = Http::post(config('go.export.url'),['type'=>'waybillDelivering','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=发运列表-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("发运报表");
+        return $e->sql($sql,[
+            "created_at"=>"日期","carrier_name"=>"承运商",
+            "waybill_number"=>"宝时运单号","origination"=>"提货仓",
+            "owner_name"=>"货主","warehouse_weight_other"=>"预估重量",
+            "warehouse_weight"=>"预估体积","status"=>"状态",
+            "carrier_bill"=>"专线运单号","inquire_tel"=>"查件电话",
+            "amount"=>"件数","carrier_weight_other"=>"重量",
+            "carrier_weight"=>"体积"
+        ])->direct();
     }
 
     //发运

+ 23 - 8
app/Http/Controllers/WaybillFinancialSnapshotsController.php

@@ -51,13 +51,28 @@ class WaybillFinancialSnapshotsController extends Controller
         }else{
             $sql = app('WaybillFinancialService')->getSql(['waybill_id'=>$request->data]);
         }
-        $post = Http::post(config('go.export.url'),['type'=>'waybillFinancial','sql'=>$sql]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=财务报表-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new \Oursdreams\Export\Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("财务报表");
+        return $e->sql($sql,[
+            "type"=>"运单类型","waybill_number"=>"运单号",
+            "owner_name"=>"货主","wms_bill_number"=>"WMS单号",
+            "origination"=>"始发地","destination"=>"目的地",
+            "recipient"=>"收件人","recipient_mobile"=>"收件人电话",
+            "charge"=>"收费(元)","ordering_remark"=>"下单备注",
+            "carrier"=>"承运商","carrier_bill"=>"承运商单号",
+            "origination_city"=>"始发市","destination_city"=>"目的市",
+            "warehouse_weight"=>"仓库计数(抛)","warehouse_weight_other"=>"仓库计数二",
+            "carrier_weight"=>"承运商计数(抛)","carrier_weight_other"=>"承运商计数二",
+            "car_type_name"=>"车型","car_owner_info"=>"车辆信息",
+            "fee"=>"运费(元)","pick_up_fee"=>"提货费(元)",
+            "other_fee"=>"其他费用(元)","collect_fee"=>"到付金额(元)",
+            "dispatch_remark"=>"调度备注","auditLog_user_name"=>"终审人员",
+            "created_at"=>"运单创建时间","total_receivable"=>"应收款(元)",
+            "total_expense"=>"应付款(元)","gross_margin"=>"毛利(元)",
+            "gross_profit_rate"=>"毛利率","snapshotCreated_at"=>"报表生成时间",
+        ])->direct();
     }
 }

+ 16 - 22
app/Http/Controllers/WeighController.php

@@ -15,6 +15,7 @@ use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Validator;
+use Oursdreams\Export\Export;
 
 
 class WeighController extends Controller
@@ -184,20 +185,20 @@ class WeighController extends Controller
         }else{
             $sql=app('PackageService')->getSql(['id'=>$request->data]);
         }
-        $row = ["货主","快递单号","波次号","订单号","物流公司","设备","重(KG)","长(cm)","宽(cm)","高(cm)","体积(cm³)","纸箱","状态","波次规则","称重时间","收件人","收件人电话"];
-        $column = ["owner_name", "logistic_number", "batch_number", "order_code", "logistic_name","measuring_machine_name",
-            "weight", "length", "width", "height", "bulk", "paper_box_name", "status","batch_rule","weighed_at","order_consignee_name","order_consignee_phone"];
-        $rule = ["weighed_at"=> "mysqlDate"];
-        $post = Http::post(config('go.export.url'),['type'=>'unify','sql'=>$sql, 'connection'=>'mysql',
-            'row'=>json_encode($row,JSON_UNESCAPED_UNICODE), 'column'=>json_encode($column), 'rule'=>json_encode($rule)]);
-
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=包裹信息-".date('ymdHis').'.xlsx',
-        ]);
+        $e = new Export();
+        $e->setMysqlConnection(config('database.connections.mysql.host'),
+            config('database.connections.mysql.port'),config('database.connections.mysql.database')
+            ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
+        $e->setFileName("财务报表");
+        return $e->sql($sql,[
+            "owner_name"=>"货主", "logistic_number"=>"快递单号",
+            "batch_number"=>"波次号", "order_code"=>"订单号", "logistic_name"=>"物流公司",
+            "measuring_machine_name"=>"设备",
+            "weight"=>"重(KG)", "length"=>"长(cm)", "width"=>"宽(cm)", "height"=>"高(cm)",
+            "bulk"=>"体积(cm³)", "paper_box_name"=>"纸箱", "status"=>"状态","batch_rule"=>"波次规则",
+            "weighed_at"=>"称重时间",
+            "order_consignee_name"=>"收件人","order_consignee_phone"=>"收件人电话"
+        ])->direct();
     }
     protected function validator(Request $request){
         $validator=Validator::make($request->input(),[
@@ -282,14 +283,7 @@ class WeighController extends Controller
             }
             $list[] = $row;
         }
-        $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(["row"=>$column,"list"=>$list],JSON_UNESCAPED_UNICODE)]);
-        if ($post->status() == 500){
-            throw new Exception($post->header("Msg"));
-        }
-        return response($post,200, [
-            "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=称重统计信息单-".date('ymdHis').'.xlsx',
-        ]);
+        return Export::make($column,$list,"称重统计单");
     }
 
 }

+ 21 - 16
app/Http/Controllers/WeighExceptedController.php

@@ -8,6 +8,7 @@ use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Oursdreams\Export\Export;
 
 class WeighExceptedController extends Controller
 {
@@ -33,34 +34,38 @@ class WeighExceptedController extends Controller
 
    public function export($type ,Request $request){
        if(!Gate::allows('称重管理-查看异常')){ return redirect(url('/'));  }
+       $e = new Export();
+       $e->setMysqlConnection(config('database.connections.mysql.host'),
+           config('database.connections.mysql.port'),config('database.connections.mysql.database')
+           ,config('database.connections.mysql.username'),config('database.connections.mysql.password'));
        if ($type == 'indexIssued'){
+           $e->setFileName("称重异常记录单");
            if ($request->checkAllSign){
                $params = $request->input();
                unset($params['checkAllSign']);
                $sql = app('WeighExceptedService')->getIssuedExceptionSql($params);
            }else $sql=app('WeighExceptedService')->getIssuedExceptionSql(['id'=>$request->data]);
-           $post = Http::post(config('go.export.url'),['type'=>'packageIssuedException','sql'=>$sql]);
-           if ($post->status() == 500){
-               throw new Exception($post->header("Msg"));
-           }
-           return response($post,200, [
-               "Content-type"=>"application/octet-stream",
-               "Content-Disposition"=>"attachment; filename=下发异常记录-".date('ymdHis').'.xlsx',
-           ]);
+           $mapping = [
+               "logistic_number"=>"快递单号","logistic_name"=>"承运商",
+               "measuring_machine_name"=>"设备","weigh_time"=>"称重时间",
+               "weight"=>"重(KG)","length"=>"长(CM)",
+               "width"=>"宽(CM)","height"=>"高(CM)","bulk"=>"体积(CM³)",
+               "paper_box_name"=>"纸箱","status"=>"异常类型"
+           ];
        }else{
+           $e->setFileName("下发异常记录单");
            if ($request->checkAllSign){
                $params = $request->input();
                unset($params['checkAllSign']);
                $sql = app('WeighExceptedService')->getCreateExceptionSql($params);
            }else $sql=app('WeighExceptedService')->getCreateExceptionSql(['id'=>$request->data]);
-           $post = Http::post(config('go.export.url'),['type'=>'packageCreateException','sql'=>$sql]);
-           if ($post->status() == 500){
-               throw new Exception($post->header("Msg"));
-           }
-           return response($post,200, [
-               "Content-type"=>"application/octet-stream",
-               "Content-Disposition"=>"attachment; filename=录入异常记录-".date('ymdHis').'.xlsx',
-           ]);
+           $mapping = [
+               "logistic_number"=>"快递单号","created_at"=>"下发时间",
+               "delivery_number"=>"发货单号","batch_number"=>"波次号",
+               "batch_rule"=>"波次规则","recipient"=>"收件人",
+               "recipient_mobile"=>"收件人电话","logistic_name"=>"承运商","status"=>"异常类型"
+           ];
        }
+       return $e->sql($sql,$mapping)->direct();
    }
 }

+ 3 - 3
app/Services/CacheShelfService.php

@@ -205,9 +205,9 @@ class   CacheShelfService
                 "uomDesc02" => "uo"
             ],
         ];
-        return new MaterialBox(['code' => 200]);
-//        $response = Http::post(config('api.haiq.storage.light'), $params);
-//        return json_decode($response->body());
+        //return new MaterialBox(['code' => 200]);
+        $response = Http::post(config('api.haiq.storage.light'), $params);
+        return json_decode($response->body());
     }
 
     /**

+ 7 - 0
bootstrap/cache/packages.php

@@ -96,6 +96,13 @@
       0 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
     ),
   ),
+  'oursdreams/export' => 
+  array (
+    'providers' => 
+    array (
+      0 => 'Oursdreams\\Export\\ExportServiceProvider',
+    ),
+  ),
   'overtrue/laravel-pinyin' => 
   array (
     'providers' => 

+ 20 - 18
bootstrap/cache/services.php

@@ -34,15 +34,16 @@
     30 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
     31 => 'Carbon\\Laravel\\ServiceProvider',
     32 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
-    33 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
-    34 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
-    35 => 'Yajra\\Oci8\\Oci8ServiceProvider',
-    36 => 'App\\Providers\\AppServiceProvider',
-    37 => 'App\\Providers\\AuthServiceProvider',
-    38 => 'App\\Providers\\BroadcastServiceProvider',
-    39 => 'App\\Providers\\EventServiceProvider',
-    40 => 'App\\Providers\\HorizonServiceProvider',
-    41 => 'App\\Providers\\RouteServiceProvider',
+    33 => 'Oursdreams\\Export\\ExportServiceProvider',
+    34 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
+    35 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
+    36 => 'Yajra\\Oci8\\Oci8ServiceProvider',
+    37 => 'App\\Providers\\AppServiceProvider',
+    38 => 'App\\Providers\\AuthServiceProvider',
+    39 => 'App\\Providers\\BroadcastServiceProvider',
+    40 => 'App\\Providers\\EventServiceProvider',
+    41 => 'App\\Providers\\HorizonServiceProvider',
+    42 => 'App\\Providers\\RouteServiceProvider',
   ),
   'eager' => 
   array (
@@ -66,15 +67,16 @@
     17 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
     18 => 'Carbon\\Laravel\\ServiceProvider',
     19 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
-    20 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
-    21 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
-    22 => 'Yajra\\Oci8\\Oci8ServiceProvider',
-    23 => 'App\\Providers\\AppServiceProvider',
-    24 => 'App\\Providers\\AuthServiceProvider',
-    25 => 'App\\Providers\\BroadcastServiceProvider',
-    26 => 'App\\Providers\\EventServiceProvider',
-    27 => 'App\\Providers\\HorizonServiceProvider',
-    28 => 'App\\Providers\\RouteServiceProvider',
+    20 => 'Oursdreams\\Export\\ExportServiceProvider',
+    21 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
+    22 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
+    23 => 'Yajra\\Oci8\\Oci8ServiceProvider',
+    24 => 'App\\Providers\\AppServiceProvider',
+    25 => 'App\\Providers\\AuthServiceProvider',
+    26 => 'App\\Providers\\BroadcastServiceProvider',
+    27 => 'App\\Providers\\EventServiceProvider',
+    28 => 'App\\Providers\\HorizonServiceProvider',
+    29 => 'App\\Providers\\RouteServiceProvider',
   ),
   'deferred' => 
   array (

+ 1 - 0
composer.json

@@ -26,6 +26,7 @@
         "laravel/tinker": "^2.0",
         "laravel/ui": "^2.0",
         "maatwebsite/excel": "^3.1",
+        "oursdreams/export": "^0.0.6",
         "overtrue/laravel-pinyin": "^4.0",
         "overtrue/pinyin": "~4.0",
         "predis/predis": "^1.1",

+ 45 - 1
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "76b0d7cb73b2202fd42202e58a737252",
+    "content-hash": "2c5e0cdaed34b2ddd62e7688d52dc765",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
@@ -3317,6 +3317,50 @@
             },
             "time": "2021-04-09T13:42:10+00:00"
         },
+        {
+            "name": "oursdreams/export",
+            "version": "0.0.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/oursdreams/export.git",
+                "reference": "d6cece537549be79116b7f6145b45fac369a0bd3"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/oursdreams/export/zipball/d6cece537549be79116b7f6145b45fac369a0bd3",
+                "reference": "d6cece537549be79116b7f6145b45fac369a0bd3",
+                "shasum": ""
+            },
+            "type": "library",
+            "extra": {
+                "laravel": {
+                    "providers": [
+                        "Oursdreams\\Export\\ExportServiceProvider"
+                    ]
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Oursdreams\\Export\\": "./src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "oursdreams",
+                    "email": "z1792524653@163.com"
+                }
+            ],
+            "description": "A simple export plug-in",
+            "support": {
+                "issues": "https://github.com/oursdreams/export/issues",
+                "source": "https://github.com/oursdreams/export/tree/0.0.6"
+            },
+            "time": "2021-05-27T06:49:02+00:00"
+        },
         {
             "name": "overtrue/laravel-pinyin",
             "version": "4.0.0",