Forráskód Böngészése

Merge branch 'master' into Haozi

# Conflicts:
#	app/Providers/AppServiceProvider.php
haozi 5 éve
szülő
commit
c1ea3665a7
100 módosított fájl, 1478 hozzáadás és 530 törlés
  1. 119 0
      app/Console/Commands/CreateOwnerReport.php
  2. 2 2
      app/Console/Commands/InventoryDailyLoggingOwner.php
  3. 14 0
      app/Customer.php
  4. 14 0
      app/Feature.php
  5. 2 2
      app/Http/Controllers/Auth/LoginController.php
  6. 1 1
      app/Http/Controllers/Auth/RegisterController.php
  7. 4 4
      app/Http/Controllers/AuthorityController.php
  8. 3 3
      app/Http/Controllers/CarTypesController.php
  9. 3 3
      app/Http/Controllers/CarriersController.php
  10. 3 3
      app/Http/Controllers/CitiesController.php
  11. 8 8
      app/Http/Controllers/CommodityController.php
  12. 3 3
      app/Http/Controllers/Controller.php
  13. 65 4
      app/Http/Controllers/CustomerController.php
  14. 2 2
      app/Http/Controllers/InventoryAccountController.php
  15. 4 4
      app/Http/Controllers/InventoryCompareController.php
  16. 3 3
      app/Http/Controllers/LaborCompanyController.php
  17. 12 12
      app/Http/Controllers/LaborReportController.php
  18. 1 1
      app/Http/Controllers/LogController.php
  19. 3 3
      app/Http/Controllers/LogisticController.php
  20. 2 2
      app/Http/Controllers/LogisticNumberFeatureController.php
  21. 1 1
      app/Http/Controllers/MeasuringMachineController.php
  22. 16 20
      app/Http/Controllers/OrderController.php
  23. 19 18
      app/Http/Controllers/OrderIssueController.php
  24. 5 5
      app/Http/Controllers/OrderIssueProcessLogController.php
  25. 180 17
      app/Http/Controllers/OrderTrackingController.php
  26. 4 4
      app/Http/Controllers/OwnerController.php
  27. 6 32
      app/Http/Controllers/PackageController.php
  28. 5 5
      app/Http/Controllers/PaperBoxController.php
  29. 10 10
      app/Http/Controllers/PersonnelController.php
  30. 11 0
      app/Http/Controllers/PriceModelController.php
  31. 27 27
      app/Http/Controllers/ProcessController.php
  32. 3 3
      app/Http/Controllers/ProcessStatisticController.php
  33. 3 3
      app/Http/Controllers/ProvincesController.php
  34. 3 3
      app/Http/Controllers/QualityLabelController.php
  35. 8 6
      app/Http/Controllers/RejectedBillController.php
  36. 8 8
      app/Http/Controllers/RejectedBillItemController.php
  37. 13 13
      app/Http/Controllers/RejectedController.php
  38. 3 3
      app/Http/Controllers/RoleController.php
  39. 12 12
      app/Http/Controllers/StoreCheckingReceiveController.php
  40. 4 4
      app/Http/Controllers/StoreController.php
  41. 20 43
      app/Http/Controllers/TestController.php
  42. 3 3
      app/Http/Controllers/UnitsController.php
  43. 2 2
      app/Http/Controllers/UserController.php
  44. 11 11
      app/Http/Controllers/UserDutyCheckController.php
  45. 5 5
      app/Http/Controllers/UserLaborController.php
  46. 6 6
      app/Http/Controllers/UserWorkgroupController.php
  47. 3 3
      app/Http/Controllers/WarehouseController.php
  48. 1 1
      app/Http/Controllers/WaveController.php
  49. 12 12
      app/Http/Controllers/WaybillController.php
  50. 4 4
      app/Http/Controllers/WaybillPriceModelsController.php
  51. 15 15
      app/Http/Controllers/api/thirdPart/flux/PackageController.php
  52. 3 3
      app/Http/Controllers/api/thirdPart/flux/ProcessController.php
  53. 1 1
      app/Http/Controllers/api/thirdPart/flux/ReceiveController.php
  54. 2 2
      app/Http/Controllers/api/thirdPart/flux/WaybillController.php
  55. 7 7
      app/Http/Controllers/api/thirdPart/goodscan/PackageController.php
  56. 4 4
      app/Http/Controllers/api/thirdPart/haiq/StorageController.php
  57. 11 11
      app/Http/Controllers/api/thirdPart/jianshang/RejectedController.php
  58. 14 14
      app/Http/Controllers/api/thirdPart/weight/PackageController.php
  59. 1 1
      app/Http/Controllers/api/thirdPart/weixin/WxController.php
  60. 1 1
      app/Http/Controllers/api/thirdPart/weixin/WxLoginController.php
  61. 2 2
      app/Imports/InventoryCompareImport.php
  62. 1 0
      app/Imports/OrderIssueImport.php
  63. 1 1
      app/Imports/RejectedImport.php
  64. 7 7
      app/Imports/StoreCheckingReceiveImport.php
  65. 12 1
      app/OrderIssue.php
  66. 2 2
      app/OrderPackage.php
  67. 6 4
      app/OrderTracking.php
  68. 24 1
      app/Owner.php
  69. 31 0
      app/OwnerAreaReport.php
  70. 30 0
      app/OwnerBillReport.php
  71. 47 0
      app/OwnerFeeDetail.php
  72. 20 0
      app/OwnerInStorageRule.php
  73. 23 0
      app/OwnerOutStorageRule.php
  74. 18 0
      app/OwnerPriceDirectLogistic.php
  75. 20 0
      app/OwnerPriceDirectLogisticCar.php
  76. 23 0
      app/OwnerPriceExpress.php
  77. 24 0
      app/OwnerPriceExpressProvince.php
  78. 36 0
      app/OwnerPriceLogistic.php
  79. 34 0
      app/OwnerPriceLogisticDetail.php
  80. 25 0
      app/OwnerPriceOperation.php
  81. 38 0
      app/OwnerReport.php
  82. 23 0
      app/OwnerStoragePriceModel.php
  83. 6 1
      app/ProcessMethod.php
  84. 12 5
      app/Providers/AppServiceProvider.php
  85. 4 3
      app/Services/CityService.php
  86. 2 2
      app/Services/CommodityService.php
  87. 14 0
      app/Services/CustomerService.php
  88. 4 4
      app/Services/InventoryAccountService.php
  89. 3 2
      app/Services/InventoryDailyLogService.php
  90. 15 6
      app/Services/LogisticService.php
  91. 4 8
      app/Services/LogisticTimingService.php
  92. 15 0
      app/Services/OracleBasCustomerService.php
  93. 6 0
      app/Services/OracleDOCOrderHeaderService.php
  94. 22 13
      app/Services/OrderIssueService.php
  95. 10 10
      app/Services/OrderPackageCommoditiesService.php
  96. 12 12
      app/Services/OrderPackageService.php
  97. 33 27
      app/Services/OrderService.php
  98. 30 12
      app/Services/OrderTrackingService.php
  99. 67 0
      app/Services/OwnerReportService.php
  100. 37 4
      app/Services/OwnerService.php

+ 119 - 0
app/Console/Commands/CreateOwnerReport.php

@@ -0,0 +1,119 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\OwnerAreaReport;
+use App\OwnerBillReport;
+use App\OwnerReport;
+use App\Services\common\BatchUpdateService;
+use App\Services\LogService;
+use Illuminate\Console\Command;
+use Illuminate\Support\Facades\DB;
+
+class CreateOwnerReport extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'createOwnerReport';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'create owner report';
+
+    /**
+     * Create a new command instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * TODO 1号生成或修改上月报表  此处假设每月生成报表数 不足1000,超过此数可能在SQL执行上溢出
+     *
+     * @return void
+     */
+    public function handle()
+    {
+        //转化日期格式 取得上月日期与天数 & 两月前月份
+        $year = (int)date('Y');
+        $month = (int)date('m');
+        if ($month == 1){
+            $year--;
+            $lastMonth = '12';
+        }else $lastMonth = ($month-1) < 10 ? "0".($month-1) : ($month-1);
+        $historyYear = $year;
+        if (($month-1) == 1){
+            $historyYear--;
+            $historyMonth = '12';
+        }else $historyMonth = ($month-2) < 10 ? "0".($month-2) : ($month-2);
+        $lastDay = date("d",strtotime("$year-$lastMonth +1 month -1 day"));
+
+        //获取上月面积与报表
+        $areas = OwnerAreaReport::query()->with(['owner'=>function($query){
+            $query->select('id',"code");
+        }])->where("counting_month","like",$year."-".$lastMonth."%")->get();
+        $reports = OwnerReport::query()->where("counting_month","like",$year."-".$lastMonth."%")->orWhere("counting_month","like",$historyYear."-".$historyMonth."%")->get();
+        $bills = OwnerBillReport::query()->where("counting_month","like",$year."-".$lastMonth."%")->get();
+
+        //日均单量统计
+        $query = DB::raw("select  count(*) c,CUSTOMERID from DOC_ORDER_HEADER where EDITTIME >= to_date('$year-$lastMonth-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and EDITTIME <= to_date('$year-$lastMonth-$lastDay 23:59:59','yyyy-mm-dd hh24:mi:ss') group by CUSTOMERID");
+        $orderStatistic = DB::connection("oracle")->select($query);
+        $map = [];
+        foreach ($orderStatistic as $item){
+            $map[$item->customerid] = round($item->c / $lastDay,2);
+        }
+
+        //已存在的报表记录
+        $reportMap = [];
+        $historyReportMap = [];
+        foreach ($reports as $report){
+            if ($report->counting_month == ($historyYear."-".$historyMonth)){
+                $historyReportMap[$report->owner_id."_".$report->counting_month] = $report->current_month_counting_area;
+                continue;
+            }
+            $reportMap[$report->owner_id."_".$report->counting_month] = $report->id;
+        }
+
+        //组装账单记录
+        $billMap = [];
+        foreach ($bills as $index => $bill){
+            $bill[$bill->owner_id."_".$bill->counting_month] = $index;
+        }
+
+        //组装报表记录数据
+        $updateReports = [[
+            "id","daily_average_order_amount","current_month_counting_area","owner_bill_report_id"
+        ]];
+        $createReports = [];
+        foreach ($areas as $area){
+            if ($reportMap[$area->owner_id."_".$area->counting_month] ?? false){
+                $updateReports[] = [
+                    "id"=>$reportMap[$area->owner_id."_".$area->counting_month],
+                    "daily_average_order_amount"=>$area->owner ? ($map[$area->owner->code] ?? 0) : 0,
+                    "current_month_counting_area"=>$area->accounting_area ?? 0,
+                    "owner_bill_report_id" => $billMap[$area->owner_id."_".$area->counting_month] ?? 0,
+                ];
+            }else $createReports[] = [
+                "owner_id"=>$area->owner_id,
+                "counting_month"=>$area->counting_month."-01",
+                "daily_average_order_amount"=>$area->owner ? ($map[$area->owner->code] ?? 0) : 0,
+                "current_month_counting_area"=>$area->accounting_area ?? 0,
+                "owner_bill_report_id" => $billMap[$area->owner_id."_".$area->counting_month] ?? 0,
+                "last_month_counting_area" => $historyReportMap[$area->owner_id."_".($historyYear."-".$historyMonth)] ?? 0,
+            ];
+        }
+        //执行生成或修改
+        app('LogService')->log(__METHOD__,"生成货主报表",json_encode($createReports));
+        app(BatchUpdateService::class)->batchUpdate('owner_reports', $updateReports);
+        DB::table("owner_reports")->insert($createReports);
+    }
+}

+ 2 - 2
app/Console/Commands/InventoryDailyLoggingOwner.php

@@ -115,7 +115,7 @@ class InventoryDailyLoggingOwner extends Command
                 'volumn'=>$commodity['volumn'],
             ];
             $result = $commodityService->updateOrCreate($param,$column);
-            LogService::log(__METHOD__,"同步库存每日记录时修改或生成商品",json_encode($column));
+            app('LogService')->log(__METHOD__,"同步库存每日记录时修改或生成商品",json_encode($column));
 
             $commodity_id = $result->id;
             //寻找对应barcode是否存在,不存在录入
@@ -143,7 +143,7 @@ class InventoryDailyLoggingOwner extends Command
             ];
         }
         DB::table('inventory_daily_logs')->insert($data);
-        LogService::log(__METHOD__,"同步库存每日记录",json_encode($data));
+        app('LogService')->log(__METHOD__,"同步库存每日记录",json_encode($data));
     }
 
     public function getLoggingOwners(){

+ 14 - 0
app/Customer.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Customer extends Model
+{
+    protected $fillable = [
+        "code",         //客户代码
+        "name",         //客户名称
+        "company_name"  //公司名称
+    ];
+}

+ 14 - 0
app/Feature.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Feature extends Model
+{
+    protected $fillable = [
+        "type",     //类型
+        "logic",    //逻辑
+        "describe", //特征
+    ];
+}

+ 2 - 2
app/Http/Controllers/Auth/LoginController.php

@@ -85,7 +85,7 @@ class LoginController extends Controller
 
         if ($this->attemptLogin($request)) {
             if(env('DB_USERNAME')!='developer')
-                $this->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
+                app('LogService')->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
             if($request['is_json']){
                 return ['success'=>true,'url'=>url($this->redirectTo)];
             }
@@ -94,7 +94,7 @@ class LoginController extends Controller
 
         $this->incrementLoginAttempts($request);
         if(env('DB_USERNAME')!='developer')
-            $this->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'',Auth::user()['id']);
         if($request['is_json']){
             return ['success'=>false,'errors'=>['name'=>['登录信息验证失败']]];
         }

+ 1 - 1
app/Http/Controllers/Auth/RegisterController.php

@@ -96,7 +96,7 @@ class RegisterController extends Controller
         if ($userWorkgroupId){
             $user->userWorkgroups()->sync([$userWorkgroupId]);
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),$user['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),$user['id']);
         if($headTo){return redirect(url($headTo))->with('successTip',"录入用户 {$user->name} 成功");}
         return $this->registered($request, $user)
             ?: redirect($this->redirectPath());

+ 4 - 4
app/Http/Controllers/AuthorityController.php

@@ -68,7 +68,7 @@ class AuthorityController extends Controller
 //        $authority=new Authority($inputs);
 //        $authority->save();
 //
-//        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+//        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
 //        return redirect('maintenance/authority/create')->with('successTip',"成功录入权限“{$successName}”");
 //    }
 
@@ -81,7 +81,7 @@ class AuthorityController extends Controller
         $authority=new Authority(['alias_name'=>"(货主:{$owner['name']})",'name'=>"_{$owner['id']}",'remark'=>"(key: _{$owner['id']})"]);
         $authority->save();
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/authority/create')->with('successTip',"成功录入权限: (货主:{$owner['name']})");
     }
 
@@ -141,7 +141,7 @@ class AuthorityController extends Controller
         $this->validatorUpdate($request->all())->validate();
         $authority->fill($request->all());
         $authority->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/authority/')->with('successTip',"成功修改权限“{$authority['name']}”!");
     }
 
@@ -155,7 +155,7 @@ class AuthorityController extends Controller
     public function destroy(Authority $authority)
     {
         if(!Gate::allows('权限-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$authority->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$authority->toJson(),Auth::user()['id']);
         $re=$authority->delete();
         return ['success'=>$re];
     }

+ 3 - 3
app/Http/Controllers/CarTypesController.php

@@ -32,7 +32,7 @@ class CarTypesController extends Controller
         $this->validatorCarType($request,$id)->validate();
         $carTypes=$request->input('CarType');
         if(CarType::create($carTypes)){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/carType')->with('successTip','新车辆“'.$request->input('CarType.name').'”添加成功');
         };
     }
@@ -52,7 +52,7 @@ class CarTypesController extends Controller
         $carType=CarType::find($id);
         $carType->fill($data);
         if ($carType->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/carType')->with('successTip','车型“'.$request->input('CarType.name').'”修改成功');
         }
     }
@@ -61,7 +61,7 @@ class CarTypesController extends Controller
     {
         if(!Gate::allows('车型-删除')){ return redirect(url('/'));  }
         $carType=CarType::find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($carType),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($carType),Auth::user()['id']);
         $result=$carType->delete();
         return ['success'=>$result];
     }

+ 3 - 3
app/Http/Controllers/CarriersController.php

@@ -32,7 +32,7 @@ class CarriersController extends Controller
         $this->validatorCarrier($request,$id)->validate();
         $carriers=$request->input('Carrier');
         if(Carrier::query()->create($carriers)){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/carrier')->with('successTip','新承运商“'.$request->input('Carrier.name').'”添加成功');
         };
     }
@@ -52,7 +52,7 @@ class CarriersController extends Controller
         $carrier=Carrier::query()->find($id);
         $carrier->fill($data);
         if ($carrier->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/carrier')->with('successTip','承运商“'.$request->input('Carrier.name').'”修改成功');
         }
     }
@@ -61,7 +61,7 @@ class CarriersController extends Controller
     {
         if(!Gate::allows('承运商-删除')){ return redirect(url('/'));  }
         $carrier=Carrier::query()->find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($carrier),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($carrier),Auth::user()['id']);
         $result=$carrier->delete();
         return ['success'=>$result];
     }

+ 3 - 3
app/Http/Controllers/CitiesController.php

@@ -33,7 +33,7 @@ class CitiesController extends Controller
         $this->validatorCities($request,$id)->validate();
         $cities=$request->input('City');
         if(City::create($cities)){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/city')->with('successTip','新城市“'.$request->input('City.name').'”添加成功');
         };
     }
@@ -54,7 +54,7 @@ class CitiesController extends Controller
         $city=City::find($id);
         $city->fill($data);
         if ($city->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/city')->with('successTip','城市“'.$request->input('City.name').'”修改成功');
         }
     }
@@ -63,7 +63,7 @@ class CitiesController extends Controller
     {
         if(!Gate::allows('城市-删除')){ return redirect(url('/'));  }
         $city=City::find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($city),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($city),Auth::user()['id']);
         $result=$city->delete();
         return ['success'=>$result];
     }

+ 8 - 8
app/Http/Controllers/CommodityController.php

@@ -56,7 +56,7 @@ class CommodityController extends Controller
         $commodity->save();
         $commodity->newBarcode($request->input('barcode'));
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/commodity/create')->with('successTip',"成功录入商品信息:“{$request->input('name')}”");
     }
     protected function validatorCreate(array $data)
@@ -109,7 +109,7 @@ class CommodityController extends Controller
         $this->validatorUpdate($request->all())->validate();
         $commodity->fill($request->all());
         $commodity->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/commodity/')->with('successTip',"成功修改商品信息:“{$commodity['name']}”!");
     }
 
@@ -123,7 +123,7 @@ class CommodityController extends Controller
     public function destroy(Commodity $commodity)
     {
         if(!Gate::allows('商品信息-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$commodity->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$commodity->toJson(),Auth::user()['id']);
         $re=$commodity->delete();
         return ['success'=>$re];
     }
@@ -258,7 +258,7 @@ class CommodityController extends Controller
 
         if (count($updateCommodities) > 1){
             $commodityService->batchUpdate($updateCommodities);
-            LogService::log(__METHOD__,"同步商品-批量更新",json_encode($updateCommodities));
+            app('LogService')->log(__METHOD__,"同步商品-批量更新",json_encode($updateCommodities));
             $commodityBarcodes = $commodityBarcodeService->get(['commodity_id'=>$commoditiesId, 'code'=>$barcodes]);
 
             unset($commoditiesId,$barcodes);
@@ -277,7 +277,7 @@ class CommodityController extends Controller
                     ];
                 }
                 $commodityBarcodeService->insert($barcodeInsert);
-                LogService::log(__METHOD__,"同步商品-录入条码",json_encode($barcodeInsert));
+                app('LogService')->log(__METHOD__,"同步商品-录入条码",json_encode($barcodeInsert));
             }
         }
 
@@ -345,13 +345,13 @@ class CommodityController extends Controller
             }
             if (count($updateCommodities) > 0){
                 $commodityService->batchUpdate($updateCommodities);
-                LogService::log(__METHOD__,"同步商品-批量更新",json_encode($updateCommodities));
+                app('LogService')->log(__METHOD__,"同步商品-批量更新",json_encode($updateCommodities));
             }
         }
 
         if (count($createCommodities) > 0){
             $commodityService->insert($createCommodities);
-            LogService::log(__METHOD__,"同步商品-录入商品",json_encode($createCommodities));
+            app('LogService')->log(__METHOD__,"同步商品-录入商品",json_encode($createCommodities));
             $commodities = $commodityService->get(['owner_id'=>$owner_id , 'sku'=>$skus]);
             $barcodeInsert = [];
             foreach ($commodities as $commodity){
@@ -364,7 +364,7 @@ class CommodityController extends Controller
                 }
             }
             $commodityBarcodeService->insert($barcodeInsert);
-            LogService::log(__METHOD__,"同步商品-录入条码",json_encode($barcodeInsert));
+            app('LogService')->log(__METHOD__,"同步商品-录入条码",json_encode($barcodeInsert));
         }
     }
 }

+ 3 - 3
app/Http/Controllers/Controller.php

@@ -18,13 +18,13 @@ class Controller extends BaseController
 {
     use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
     static public function logS($method,$type,$description,$id_user=null){
-        LogService::log($method,$type,$description,$id_user=null);
+        app('LogService')->log($method,$type,$description,$id_user=null);
     }
     public function log($method,$type,$description,$id_user=null){
-        LogService::log($method,$type,$description,$id_user);
+        app('LogService')->log($method,$type,$description,$id_user);
     }
     public function apiError($method,$description){
-        $this->log($method,'apiError',$description);
+        app('LogService')->log($method,'apiError',$description);
         return ['success'=>'false','fail_info'=>$description];
     }
 }

+ 65 - 4
app/Http/Controllers/CustomerController.php

@@ -2,26 +2,87 @@
 
 namespace App\Http\Controllers;
 
+use App\Services\OwnerReportService;
+use App\Services\OwnerService;
+use Exception;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 use Illuminate\Support\Facades\Gate;
+use Illuminate\Support\Facades\Http;
 
 class CustomerController extends Controller
 {
     /**
      * Display a listing of the resource.
-     *
+     * @param Request $request
      * @return Response
      */
-    public function projectReport()
+    public function projectReport(Request $request)
     {
-        if(!Gate::allows('客户管理-项目-报表')){ return redirect('denied');  }
-        return response()->view('customer.project.report');
+        if(!Gate::allows('客户管理-项目-报表')){ return view('customer.index');  }
+        $withs = ["ownerBillReport","owner"=>function($query){
+            /** @var Builder $query */
+            $query->select("id","name","deleted_at","created_at","customer_id","user_owner_group_id")
+                ->with(["customer","userOwnerGroup"]);
+        }];
+        $ownerGroups = app('UserOwnerGroupService')->getSelection();
+        $customers = app('CustomerService')->getSelection();
+        $owners = app('OwnerService')->getSelection();
+        $reports = app("OwnerReportService")->paginate($request->input(),$withs);
+        return response()->view('customer.project.report',compact("reports","ownerGroups","customers","owners"));
+    }
+
+    public function projectReportExport(Request $request)
+    {
+        if(!Gate::allows('客户管理-项目-报表')){ return '没有权限';  }
+        /** @var OwnerReportService $service */
+        $service = app('OwnerReportService');
+        $withs = ["ownerBillReport","owner"=>function($query){
+            /** @var Builder $query */
+            $query->select("id","name","deleted_at","created_at","customer_id","user_owner_group_id")
+                ->with(["customer","userOwnerGroup"]);
+        }];
+        if ($request->checkAllSign ?? false){
+            $params = $request->input();
+            unset($params['checkAllSign']);
+            $reports = $service->get($params,$withs);
+        }else $reports = $service->get(["id"=>$request->data ?? ''],$withs);
+        $column = ["项目小组","客户","子项目","状态","创建日期","在库时长","结算月","日均单量","结算月上月盘点面积","结算月盘点面积","初始账单金额","确认账单金额","确认日期"];
+        $list = [];
+        foreach ($reports as $report){
+            $list[] = [
+                $report->owner ? ($report->owner->userOwnerGroup ? $report->owner->userOwnerGroup->name : '') : '',
+                $report->owner ? ($report->owner->customer ? $report->owner->customer->name : '') : '',
+                $report->owner ? $report->owner->name : '',
+                $report->owner ? ($report->owner->deleted_at ? "冻结" : "激活") : '',
+                $report->owner ? (string)$report->owner->created_at : '',
+                $report->owner ? ($report->owner->created_at ? ((new \DateTime())->diff(new \DateTime($report->owner->created_at))->days)." 天"  : '') : '',
+                $report->counting_month,
+                $report->daily_average_order_amount,
+                $report->last_month_counting_area,
+                $report->current_month_counting_area,
+                $report->ownerBillReport ? $report->ownerBillReport->initial_fee : '',
+                $report->ownerBillReport ? $report->ownerBillReport->confirm_fee : '',
+                $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',
+        ]);
     }
 
     public function projectIndex()
     {
         if(!Gate::allows('客户管理-项目-查询')){ return redirect('denied');  }
+        /** @var OwnerService $service */
+        $service = app('OwnerService');
+        $customers = $service->get(['customer_id'=>true],['customer']);
         return response()->view('customer.project.index');
     }
 

+ 2 - 2
app/Http/Controllers/InventoryAccountController.php

@@ -176,7 +176,7 @@ class InventoryAccountController extends Controller
         $id=$request->input('id');
         if (!$id) return ['success'=>false,'data'=>'参数错误!'];
         $inventoryAccount=InventoryAccount::query()->where('id',$id)->update(['status'=>'复盘中']);
-        $this->log(__METHOD__,'结束初盘任务'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'结束初盘任务'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         if ($inventoryAccount>0) return ['success'=>true,'data'=>'复盘中'];
         return ['success'=>false,'data'=>'参数错误!'];
     }
@@ -194,7 +194,7 @@ class InventoryAccountController extends Controller
         $quality=$request->quality;
         $ownerCode=$request->ownerCode;
         $inventoryAccountMission=app('inventoryAccountService')->修改质量状态($id,$location,$sku,$quality,$ownerCode);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         if ($inventoryAccountMission==null) return ['success'=>false,'data'=>'WMS中不存在该条记录!'];
         return ['success'=>true,'data'=>'质量状态修改成功'];
 

+ 4 - 4
app/Http/Controllers/InventoryCompareController.php

@@ -93,7 +93,7 @@ class InventoryCompareController extends Controller
     function inventoryCompare(Request $request,OwnerService $ownerService){
         if (!Gate::allows('库存管理-库存-库存对比')){return redirect(url('/')); }
         $owners = $ownerService->getSelection();
-        $inventoryCompares=app('inventoryCompareService')->getInventoryCompare($request->all());
+        $inventoryCompares=app('InventoryCompareService')->getInventoryCompare($request->all());
         $param = $request->input();
         return view('inventory.statement.inventoryCompare',compact('owners','inventoryCompares','param'));
     }
@@ -117,7 +117,7 @@ class InventoryCompareController extends Controller
                     for ($i = 0; $i < count($exception); $i++) {
                         $a .= implode(',', $exception[$i]) . '&#10';
                     };
-                    $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+                    app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
                     return '<h1 class="text-danger">导入Excel成功<br><textarea style="width: 50%;height: 50%">' . $a . '</textarea></h1>';
 //                }else {
 //                    return '<h1 class="text-danger">导入Excel成功</h1>';
@@ -134,10 +134,10 @@ class InventoryCompareController extends Controller
         if ($request->checkAllSign){
             $params = $request->input();
             unset($params['checkAllSign']);
-            $sql=app('inventoryCompareService')->getSql($params);
+            $sql=app('InventoryCompareService')->getSql($params);
 //            dd($sql);
         }else{
-            $sql=app('inventoryCompareService')->getSql(['id'=>$request->data]);
+            $sql=app('InventoryCompareService')->getSql(['id'=>$request->data]);
         }
         $post = Http::post(config('go.export.url'),['type'=>'inventoryCompare','sql'=>$sql]);
         if ($post->status() == 500){

+ 3 - 3
app/Http/Controllers/LaborCompanyController.php

@@ -46,7 +46,7 @@ class LaborCompanyController extends Controller
         $laborCompany=new LaborCompany($request->all());
         $laborCompany->save();
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/laborCompany/create')->with('successTip',"成功录入劳务所“{$request->input('name')}”");
     }
     protected function validatorCreate(array $data)
@@ -97,7 +97,7 @@ class LaborCompanyController extends Controller
         $this->validatorUpdate($request->all())->validate();
         $laborCompany->fill($request->all());
         $laborCompany->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/laborCompany/')->with('successTip',"成功修改劳务所“{$laborCompany['name']}”!");
     }
 
@@ -111,7 +111,7 @@ class LaborCompanyController extends Controller
     public function destroy(LaborCompany $laborCompany)
     {
         if(!Gate::allows('物流公司-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$laborCompany->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$laborCompany->toJson(),Auth::user()['id']);
         $re=$laborCompany->delete();
         return ['success'=>$re];
     }

+ 12 - 12
app/Http/Controllers/LaborReportController.php

@@ -53,13 +53,13 @@ class LaborReportController extends Controller
                 $tenMinutesLater=Carbon::parse($laborReport->created_at)->subHours(-2)->format('Y-m-d H:i:s');
                 if (Carbon::now()->format('Y-m-d H:i:s')>$tenMinutesLater){
                     $laborReport->delete();
-                    $this->log(__METHOD__,"组长未审核该条记录将在10分钟后实行软删除__".__FUNCTION__,$laborReport->toJson(),Auth::user()['id']);
+                    app('LogService')->log(__METHOD__,"组长未审核该条记录将在10分钟后实行软删除__".__FUNCTION__,$laborReport->toJson(),Auth::user()['id']);
                 }
             }
             $addOneHourCheckedAt=Carbon::parse($laborReport->userDutyCheck['checked_at'])->subHours(-1)->format('Y-m-d H:i:s');
             if (!$laborReport->userDutyCheck['verify_user_id']&&Carbon::now()->format('Y-m-d H:i:s')>$addOneHourCheckedAt){
                 $laborReport->delete();
-                $this->log(__METHOD__,"进场门卫未审核该条记录将在一小时后实行软删除__".__FUNCTION__,$laborReport->toJson(),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,"进场门卫未审核该条记录将在一小时后实行软删除__".__FUNCTION__,$laborReport->toJson(),Auth::user()['id']);
             }
         }
         $laborCompanies=LaborCompany::query()->get();
@@ -119,12 +119,12 @@ class LaborReportController extends Controller
             'status'=>'已入场',
         ]);
         $laborReportStatus->save();
-        $this->log(__METHOD__,"门卫打卡审核创建当前临时工报表状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"门卫打卡审核创建当前临时工报表状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
         $userDutyCheck=UserDutyCheck::find($userDutyCheckId);
         $userDutyCheck->verify_user_id=Auth::user()['id'];
         $userDutyCheck->update();
         event(new GuardAuditEvent($userDutyCheck));
-        $this->log(__METHOD__,"门卫打卡审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"门卫打卡审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
         return ["success"=>true,"data"=>$userDutyCheck->verify_user_id];
     }
     //打卡组长审核
@@ -136,7 +136,7 @@ class LaborReportController extends Controller
         $laborReport->verify_at=date('Y-m-d H:i:s');
         $laborReport->update();
         $laborReport->verifyPerson=Auth::user()['name'];
-        $this->log(__METHOD__,"打卡组长审核".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"打卡组长审核".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
         event(new TeamAuditEvent($laborReport));
         return ["success"=>true,"data"=>$laborReport];
     }
@@ -152,7 +152,7 @@ class LaborReportController extends Controller
         $laborReport->update();
         $laborReport->setRemarkAttribute($remark,$id);
         $laborReport->verifyPerson=Auth::user()['name'];
-        $this->log(__METHOD__,"打卡组长审核并添加相应备注".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"打卡组长审核并添加相应备注".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
         event(new TeamAuditEvent($laborReport));
         return ["success"=>true,"data"=>$laborReport];
     }
@@ -167,7 +167,7 @@ class LaborReportController extends Controller
             'status'=>'已退组',
         ]);
         $laborReportStatus->save();
-        $this->log(__METHOD__,"报表记录退组对应状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"报表记录退组对应状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
         $check_out_at=Carbon::now()->format('Y-m-d H:i:s');
         $check_in_at=$laborReport->check_in_at;
         $laborReport->check_out_at=$check_out_at;
@@ -182,7 +182,7 @@ class LaborReportController extends Controller
         }
         $laborReport->update();
         $laborReport->is_exportGroup=$laborReport->getIsExportGroupAttribute();
-        $this->log(__METHOD__,"退组".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"退组".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
         event(new ClockoutEvent($laborReport));
         return ["success"=>true,"data"=>$laborReport];
     }
@@ -199,7 +199,7 @@ class LaborReportController extends Controller
             'status'=>'已退组',
         ]);
         $laborReportStatus->save();
-        $this->log(__METHOD__,"报表记录退组对应状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"报表记录退组对应状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
         $check_out_at=Carbon::now()->format('Y-m-d H:i:s');
         $check_in_at=$laborReport->check_in_at;
         $laborReport->check_out_at=$check_out_at;
@@ -219,7 +219,7 @@ class LaborReportController extends Controller
         }
         $laborReport->update();
         $laborReport->is_exportGroup=$laborReport->getIsExportGroupAttribute();
-        $this->log(__METHOD__,"退组".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"退组".__FUNCTION__,json_encode($laborReport),Auth::user()['id']);
         event(new ClockoutEvent($laborReport));
         return ["success"=>true,"data"=>$laborReport];
     }
@@ -267,7 +267,7 @@ class LaborReportController extends Controller
     function recover(Request $request){
         if(!Gate::allows('人事管理-临时工报表-删除')){ return redirect('/');  }
         $checkData=$request->checkData;
-        $this->log(__METHOD__,"回收站恢复临时工报表记录_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"回收站恢复临时工报表记录_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>LaborReport::withTrashed()->whereIn('id',$checkData)->restore()];
     }
     public function changeLaborReportRemark(Request $request){
@@ -279,7 +279,7 @@ class LaborReportController extends Controller
         }
         $laborReport=LaborReport::find($laborReportId);
         $laborReport->setRemarkAttribute($laborReportRemark,$laborReportId);
-        $this->log(__METHOD__,'添加或者修改临时工报表备注'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'添加或者修改临时工报表备注'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>true,'status'=>$laborReport];
     }
 }

+ 1 - 1
app/Http/Controllers/LogController.php

@@ -92,7 +92,7 @@ class LogController extends Controller
     public function destroy(Log $log)
     {
 //        if(!Gate::allows('物流公司-删除')){ return redirect(url('/'));  }
-//        $this->log(__METHOD__,__FUNCTION__,$log->toJson(),Auth::user()['id']);
+//        app('LogService')->log(__METHOD__,__FUNCTION__,$log->toJson(),Auth::user()['id']);
 //        $re=$log->delete();
 //        return ['success'=>$re];
     }

+ 3 - 3
app/Http/Controllers/LogisticController.php

@@ -48,7 +48,7 @@ class LogisticController extends Controller
         $logistic=new Logistic($request->all());
         $logistic->save();
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/logistic/create')->with('successTip',"成功录入物流公司“{$request->input('name')}”");
     }
     protected function validatorCreate(array $data)
@@ -101,7 +101,7 @@ class LogisticController extends Controller
         $this->validatorUpdate($request->all(),$logistic->id)->validate();
         $logistic->fill($request->all());
         $logistic->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/logistic/')->with('successTip',"成功修改物流公司“{$logistic['name']}”!");
     }
 
@@ -115,7 +115,7 @@ class LogisticController extends Controller
     public function destroy(Logistic $logistic)
     {
         if(!Gate::allows('物流公司-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$logistic->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$logistic->toJson(),Auth::user()['id']);
         $re=$logistic->delete();
         return ['success'=>$re];
     }

+ 2 - 2
app/Http/Controllers/LogisticNumberFeatureController.php

@@ -103,7 +103,7 @@ class LogisticNumberFeatureController extends Controller
         if($numberLength<$featureConsideringLength)
             $featureConsideringLength=$numberLength;
         if(!$logisticNumber){
-            $this->log(__METHOD__, 'error', '创建退货快递单号特征时,单号传入了空值');
+            app('LogService')->log(__METHOD__, 'error', '创建退货快递单号特征时,单号传入了空值');
             return null;
         };
         $featuresCreated=[];
@@ -120,7 +120,7 @@ class LogisticNumberFeatureController extends Controller
     private function createFeature(int $logisticId,string $featureName, string $value,int $weight)
     {
         if(!$value){
-            $this->log(__METHOD__, 'error', "创建退货快递单号特征{$featureName}时,特征值为空");
+            app('LogService')->log(__METHOD__, 'error', "创建退货快递单号特征{$featureName}时,特征值为空");
             return null;
         };
         $feature=LogisticNumberFeature::where('logistic_id',$logisticId)

+ 1 - 1
app/Http/Controllers/MeasuringMachineController.php

@@ -95,7 +95,7 @@ class MeasuringMachineController extends Controller
     {
         if(!Gate::allows('测量设备-删除')){ return redirect(url('/'));  }
         $measuringMachine=MeasuringMachine::find($id)->delete();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($measuringMachine),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($measuringMachine),Auth::user()['id']);
         if ($measuringMachine)return ['success'=>true];
     }
 

+ 16 - 20
app/Http/Controllers/OrderController.php

@@ -40,11 +40,7 @@ class OrderController extends Controller
         $orders = $result['orders'];
         $orderIssueNos =  $orderService->返回有问题件的订单号($orders);
         $commodities = $result['commodities'];
-        $customers=OracleBasCustomer::query()->select('customerid','descr_c')
-            ->where('customer_type','OW')
-            ->where('active_flag','Y')
-            ->whereIn('customerid',$codes)
-            ->get();
+        $customers=app('OracleBasCustomerService')->getCustomers($codes);
         $page = $request["page"] ?? 1;
         $codes=DB::connection('oracle')->table('BAS_CODES')->select('code','codename_c')->where('codeid','SO_STS')->orderBy('code','asc')->get();
         $orderIssueType = OrderIssueType::all();
@@ -104,13 +100,13 @@ class OrderController extends Controller
                     'logistic_number_return' => $orderno,
                     'id_logistic_return' => $logistic->id,
                     'order_number' => $order->soreference1,
-                    'mobile_sender' => $order->c_tel2,
+                    'mobile_sender' => empty($order->c_tel2)?$order->c_tel1:$order->c_tel2,
                     'logistic_number' => '原单退回',//$order->soreference1
                     'remark' => $order->notes,
                     'is_loaded' =>0,
                     "id_operator" => Auth::id(),
                 ]);
-                LogService::log(__METHOD__,"生成退货单",json_encode($order),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,"生成退货单",json_encode($order),Auth::user()['id']);
                 if ($commodities[$order->orderno] ?? false){
                     foreach ($commodities[$order->orderno] as $orderCommodities){
                         array_push($rejectedBillItems,[
@@ -126,7 +122,7 @@ class OrderController extends Controller
             }
         }
         $rejectedBillItemService->insert($rejectedBillItems);
-        LogService::log(__METHOD__,"批量生成退货单详情",json_encode($rejectedBillItems),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"批量生成退货单详情",json_encode($rejectedBillItems),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -153,7 +149,7 @@ class OrderController extends Controller
         $data=[];
         foreach ($ordersNotNull as $order){
             OracleDOCOrderHeader::query()->where('orderno',$order->orderno)->update(["notes"=>($order->notes).",".$content]);
-            $this->log(__METHOD__,'批量备注追加修改'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'批量备注追加修改'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             $order->notes=($order->notes).",".$content;
             array_push($data,$order);
         }
@@ -174,10 +170,10 @@ class OrderController extends Controller
             $waveno=OracleDOCOrderHeader::where('orderno',$order->orderno)->value('waveno');
             if ($waveno && $waveno!='*'){
                 OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$order->orderno)->delete();
-                $this->log(__METHOD__,'批量冻结删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,'批量冻结删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             }
             $is_freeze=OracleDOCOrderHeader::where('orderno',$order->orderno)->update(['releasestatus'=>'H','waveno'=>'*']);
-            $this->log(__METHOD__,'批量冻结修改'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'批量冻结修改'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             if (!$is_freeze)return ['success'=>false,'fail_info'=>"数据 {$order['orderno']} 更新失败"];
         }
         return ['success'=>true];
@@ -195,10 +191,10 @@ class OrderController extends Controller
             $waveno=OracleDOCOrderHeader::where('orderno',$order->orderno)->value('waveno');
             if ($waveno && $waveno!='*'){
                 OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$order->orderno)->delete();
-                $this->log(__METHOD__,'批量取消分配删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,'批量取消分配删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             }
             $deAllocation=OracleDOCOrderHeader::where('orderno',$order->orderno)->update(['sostatus'=>'00','waveno'=>'*']);
-            $this->log(__METHOD__,'批量取消分配'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'批量取消分配'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             if (!$is_deAllocation||!$deAllocation)return ['success'=>false,'fail_info'=>"数据 {$order['orderno']} 更新失败"];
         }
         return ['success'=>true];
@@ -210,10 +206,10 @@ class OrderController extends Controller
         $waveno=$request->input('waveno');
         if ($waveno && $waveno!='*'){
             OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
-            $this->log(__METHOD__,'冻结删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'冻结删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         }
         OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'H','waveno'=>'*']);
-        $this->log(__METHOD__,'冻结'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'冻结'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>true];
     }
     public function thaw(Request $request){
@@ -223,7 +219,7 @@ class OrderController extends Controller
             $orderno = [$orderno];
         }
         OracleDOCOrderHeader::query()->whereIn('orderno',$orderno)->update(['releasestatus'=>'N']);
-        $this->log(__METHOD__,'解冻'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'解冻'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -232,7 +228,7 @@ class OrderController extends Controller
         if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
         $orderno=$request->orderno;
         OracleDOCOrderHeader::query()->whereIn('orderno',$orderno)->where('edisendflag2','W')->update(['edisendflag2'=>'N']);
-        $this->log(__METHOD__,'解冻'.__FUNCTION__,json_encode($orderno),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'解冻'.__FUNCTION__,json_encode($orderno),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -243,10 +239,10 @@ class OrderController extends Controller
         $waveno=$request->input('waveno');
         if ($waveno && $waveno!='*'){
             OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
-            $this->log(__METHOD__,'取消分配删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'取消分配删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         }
         OracleDOCOrderHeader::where('orderno',$orderno)->update(['sostatus'=>'00','waveno'=>'*']);
-        $this->log(__METHOD__,'取消分配'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'取消分配'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         $is_deAllocation=$this->isDeAllocation($orderno);
         if($is_deAllocation) return ['success'=>true];
 
@@ -283,7 +279,7 @@ class OrderController extends Controller
         oci_bind_by_name($stmt,':OUT_Return_Code',$OUT_Return_Code,300);
         oci_execute($stmt);
         if (substr($OUT_Return_Code,0,3) != '000'){
-            $this->log(__METHOD__,'调用sp根据订单取消分配失败'.__FUNCTION__,"ORDERNO:".$orderno."ERROR:".$OUT_Return_Code);
+            app('LogService')->log(__METHOD__,'调用sp根据订单取消分配失败'.__FUNCTION__,"ORDERNO:".$orderno."ERROR:".$OUT_Return_Code);
             return false;
         }
         oci_close($conn);

+ 19 - 18
app/Http/Controllers/OrderIssueController.php

@@ -117,7 +117,7 @@ class OrderIssueController extends Controller
                 for ($i = 0; $i < count($exception); $i++) {
                     $a .= implode(',', $exception[$i]) . '&#10';
                 };
-                $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+                app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
                 return '<h1 class="text-danger">导入Excel成功<br><textarea style="width: 50%;height: 50%">' . $a . '</textarea></h1>';
             }
         } else {
@@ -133,9 +133,10 @@ class OrderIssueController extends Controller
         if ($request->checkAllSign){
             $params = $request->input();
             unset($params['checkAllSign']);
+
             $sqlList = app('OrderIssueService')->getSqlList($params);
         }else{
-            $sqlList = app('OrderIssueService')->getSqlList(['id'=>$request->data]);
+            $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){
@@ -183,7 +184,7 @@ class OrderIssueController extends Controller
         $orderIssue = OrderIssue::query()->where('id', $request->input('id'))->first();
         $bool = $orderIssue->delete();
         if ($bool) {
-            $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+            app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
             return ['success' => 'true'];
         } else {
             return ['success' => 'false', 'fail_info' => '删除问题单出现异常,请联系管理员'];
@@ -203,10 +204,10 @@ class OrderIssueController extends Controller
             $orderIssue = OrderIssue::query()->find($request->id);
             $orderIssue->update($data);
             $orderIssue->同步退单状态();
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request));
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request));
             return  ['success' => true];
         } catch (Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage().'||'.$e->getTraceAsString());
             return  ['success' => false ,'fail_info' => $e->getMessage()];
         }
     }
@@ -228,7 +229,7 @@ class OrderIssueController extends Controller
             foreach ($request->input('ids') as $id) {
                 OrderIssueProcessLog::query()->create(['order_issue_id' => $id, 'user_id' => Auth::user()['id'], 'type' => '结束', 'content' => '完结订单']);
             }
-            $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+            app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
             return ['success' => true];
         }
     }
@@ -245,10 +246,10 @@ class OrderIssueController extends Controller
             OrderIssue::query()
                 ->where('id', $request->input('id'))
                 ->update(['is_new_rejecting' => '已处理']);
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
             return ['success'=>true];
         } catch (Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent())."||".$e->getMessage()."||".$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent())."||".$e->getMessage()."||".$e->getTraceAsString());
             return ['success' => false,'fail_info' => $e->getMessage()];
         }
     }
@@ -346,10 +347,10 @@ class OrderIssueController extends Controller
             OrderIssue::query()
                 ->where('id', $request->input('id'))
                 ->update([$request->input('column') => $request->input('value')]);
-            LogService::log(__METHOD__,'更新问题件',json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__,'更新问题件',json_encode($request->getContent()));
             return ['success' => true];
         } catch (Exception $e) {
-            LogService::log(__METHOD__,'更新问题件error',json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,'更新问题件error',json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
             return ['success' => false, $e->getMessage()];
         }
     }
@@ -361,10 +362,10 @@ class OrderIssueController extends Controller
         }
         try {
             OrderIssue::query()->whereIn('id', $request->input('ids'))->delete();
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
             return ['success' => true];
         } catch (Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage()."||".$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request)."||".$e->getMessage()."||".$e->getTraceAsString());
             return ['success' => false,'fail_info' => $e->getMessage()];
         }
     }
@@ -380,7 +381,7 @@ class OrderIssueController extends Controller
                 ->with('items')
                 ->where('logistic_number_return',$request->input('logisticNumberReturn'))
                 ->first();
-            LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
             if(!$rejectedBill){
                 $orderIssue->update(['logistic_number_return' => $request->input('logisticNumberReturn')]);
                 return ['success' => false, 'message' => '退回单号已修改,退回单号没有相应退件信息'];
@@ -390,7 +391,7 @@ class OrderIssueController extends Controller
                 return ['success' => true, 'rejectedBill' => $rejectedBill,'rejectingStatus' =>$orderIssue->rejecting_status];
             }
         } catch (Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__,'error'. json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__,'error'. json_encode($request->getContent()).'||'.$e->getMessage().'||'.$e->getTraceAsString());
             return ['success' => false ,'fail_info' => $e->getMessage()];
         }
     }
@@ -461,7 +462,7 @@ class OrderIssueController extends Controller
                return ['success' => true, 'order' => $secondClientNo =='' ? null : $order];
             }
         } catch (Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
             return  ['success' =>false ,'fail_info' => $e->getMessage()];
         }
     }
@@ -474,10 +475,10 @@ class OrderIssueController extends Controller
         $service = app(OrderIssueService::class);
         try {
             $message = $service->updateSecondLogisticNumber($request->input('id'), $request->logistic_number);
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
             return $message;
         } catch (Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).$e->getMessage().$e->getTraceAsString());
             return ['success'=>false,$e->getMessage()];
         }
     }
@@ -582,7 +583,7 @@ class OrderIssueController extends Controller
             }
             return ['success'=>true];
         } catch (Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'文本导入问题件失败'.json_encode($request->getContent().$e->getMessage().$e->getTraceAsString()));
+            app('LogService')->log(__METHOD__,__FUNCTION__,'文本导入问题件失败'.json_encode($request->getContent().$e->getMessage().$e->getTraceAsString()));
             return ['success'=>false,'fail_info'=>$e->getMessage()];
         }
     }

+ 5 - 5
app/Http/Controllers/OrderIssueProcessLogController.php

@@ -30,10 +30,10 @@ class OrderIssueProcessLogController extends Controller
                 if ($log) {
                     $log->user = $log->hasOne(User::class, 'id', 'user_id')->first();
                 }
-                LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
+                app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
                 return ['success' =>true,'data' =>$log ];
             } catch (\Exception $e) {
-                LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
+                app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
                 return ['success' => false, 'fail_info' => $e->getMessage()];
             }
         } else {
@@ -46,7 +46,7 @@ class OrderIssueProcessLogController extends Controller
             return ['success'=>false,'fail_info'=>'没有传入对应参数'];
         }
         OrderIssueProcessLog::query()->where('id',$request->input('id'))->delete();
-        LogService::log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
+        app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->getContent()));
         return ['success'=>true];
     }
 
@@ -67,10 +67,10 @@ class OrderIssueProcessLogController extends Controller
             foreach ($logs as $log) {
                 $result_data[$log->order_issue_id] =$log;
             }
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
             return ['success' => true,'logs' => $result_data];
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).'||'.$e->getMessage()."||".$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).'||'.$e->getMessage()."||".$e->getTraceAsString());
             return ['success' => false,$e->getMessage()];
         }
     }

+ 180 - 17
app/Http/Controllers/OrderTrackingController.php

@@ -3,13 +3,18 @@
 namespace App\Http\Controllers;
 
 use App\Logistic;
+use App\Order;
+use App\OrderTracking;
 use App\Services\LogService;
 use App\Services\OrderTrackingService;
 use App\Services\OwnerService;
+use App\UploadFile;
 use Exception;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Http;
+use Intervention\Image\Facades\Image;
+use Ramsey\Uuid\Uuid;
 
 class OrderTrackingController extends Controller
 {
@@ -18,10 +23,17 @@ class OrderTrackingController extends Controller
     {
         if (!Gate::allows('订单管理-跟踪'))
             return redirect(url('/'));
-
         $owners =  app(OwnerService::class)->getAuthorizedOwners();
+        /** @var OrderTrackingService $service */
         $service = app('OrderTrackingService');
         $trackOrders = $service->paginate($request->input());
+        $trackOrders->map(function($trackOrder){
+            if($trackOrder->uploadFile){
+                if(!str_starts_with($trackOrder->uploadFile->url,'http')){
+                    $trackOrder->uploadFile->url = asset('/storage'.$trackOrder->uploadFile->url);
+                }
+            }
+        });
         $logistics = Logistic::all();
         return view('order.tracking.index', compact('owners', 'trackOrders','logistics'));
     }
@@ -31,11 +43,11 @@ class OrderTrackingController extends Controller
         if (!Gate::allows('订单管理-跟踪-物流公司编辑'))
             return redirect(url('/'));
         try {
-            $bool = app(OrderTrackingService::class)->updateOrderTracingAndSyc($request->input('id'),$request->input('param'),$request->input('value'));
-            LogService::log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()) );
-            return $bool;
+            $message = app(OrderTrackingService::class)->updateOrderTracingAndSyc($request->input('id'),$request->input('param'),$request->input('value'));
+            app('LogService')->log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()) );
+            return $message;
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
             return ['success' => false];
         }
     }
@@ -45,31 +57,167 @@ class OrderTrackingController extends Controller
         if (!Gate::allows('订单管理-跟踪-仓库编辑'))
             return redirect(url('/'));
         try {
-            $bool = app(OrderTrackingService::class)->updateOrderTracingAndSyc($request->input('id'),$request->input('param'),$request->input('value'));
-            LogService::log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()));
-            return $bool;
+            $message = app(OrderTrackingService::class)->updateOrderTracingAndSyc($request->input('id'),$request->input('param'),$request->input('value'));
+            app('LogService')->log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()));
+            return $message;
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
             return ['success' => false];
         }
     }
 
+    public function updateLogisticIdApi(Request $request)
+    {
+        if (!Gate::allows('订单管理-跟踪-仓库编辑'))
+            return ['success'=>false,'fail_info'=>'没有对应权限'];
+        try {
+            $logistic = Logistic::query()->where('name',$request['value'])->first();
+            $order = Order::query()->whereHas('packages.commodities.orderTracking',function($query)use($request){
+                $query->where('id',$request['id']);
+            })->first();
+            $order->update(['logistic_id'=>$logistic->id]);
+            app('LogService')->log(__METHOD__, __FUNCTION__, '更新成功' . json_encode($request->getContent()));
+            return ['success'=>true];
+        } catch (\Exception $e) {
+            app('LogService')->log(__METHOD__, __FUNCTION__, '更新失败' . json_encode($request->getContent()) .'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            return ['success' => false,'fail_info'=>$e->getMessage()];
+        }
+
+    }
+
+    public function upload(Request $request)
+    {
+        if (!Gate::allows('订单管理-跟踪-物流公司编辑'))
+            return ['success'=>false,'fail_info'=>'没有对应权限'];
+        $file=$request->file('file');
+        /** @var OrderTracking $orderTracking */
+        $orderTracking = OrderTracking::query()->with('uploadFile')->find($request['id']);
+        if(!$orderTracking){
+            return ['success'=>false,'error'=>'未找到该追踪件'];
+        }
+        if($orderTracking->uploadFile){
+            return ['success'=>false,'error'=>'该运单已存在照片!'];
+        }
+        if(!$file){
+            return ['success'=>false,'error'=>'照片不能为空!'];
+        }
+        if(!$file->isValid()){
+            return ['success'=>false,'error'=>'找不到照片'];
+        }
+        $tmpFile = $file->getRealPath();
+        if(!is_uploaded_file($tmpFile)){
+            return ['success'=>false,'error'=>'文件错误'];
+        }
+        $fileExtension=$file->getClientOriginalExtension();
+        $fileName=date('ymd').'-'.Uuid::uuid1(); // 文件名生成
+        $thumbnailName=storage_path('app/public/files/'.$fileName.'-thumbnail.'.$fileExtension);
+        $commonName=storage_path('app/public/files/'.$fileName.'-common.'.$fileExtension);
+        $bulkyName=storage_path('app/public/files/'.$fileName.'-bulky.'.$fileExtension);
+        $result=move_uploaded_file ($tmpFile ,$bulkyName);
+        if($result) {
+            $img = Image::make($bulkyName);
+            if ($img->height() > $img->width()) {
+                $img->heighten(250)->save($commonName);
+            } else {
+                $img->widen(250)->save($commonName);
+            }
+            $img->heighten(28)->save($thumbnailName);
+            $uploadFile=new UploadFile([
+                "table_name"=>"order_trackings",
+                "table_id"=>$orderTracking->order_client_code,
+                "url"=>'/files/'.$fileName,
+                "type"=>$fileExtension,
+            ]);
+            if ($uploadFile->save()){
+                app('LogService')->log(__METHOD__, '追踪件 图片上传' . __FUNCTION__, json_encode($request));
+            }
+            $uploadFile->url=asset('/storage'.$uploadFile->url);
+            return ['success'=>true,'data'=>$uploadFile];
+        }
+        return ['success'=>false,'error'=>'图片上传失败'];
+    }
+
     public function export(Request $request)
     {
         if (!Gate::allows('订单管理-跟踪'))
             return redirect(url('/'));
         /** @var OrderTrackingService $service */
         $service = app(OrderTrackingService::class);
-        $sql = $service->getSql($request->input());
+        $orderTrackings = $service->getOrderTrackings($request->input());
+//        $column = ['owners_name','order_client_code','web_order_number','pick_up_at','sale','client','sku','sku_name','amount','order_remark',
+//            'gross_weight','bulk','pallet_total','logistic_name','logistic_number','city','planning_sent_at','is_on_duty_shift','is_arrival','signed_at','receive_bill_status','remark'];
+        $rule = ["pick_up_at"=> "mysqlDate",'planning_sent_at'=>"mysqlDate"];
+
         $row = ['公司','订单号','WEB+订单号','提货日期','销售','客户','SKU','物料描述','数量','订单备注','重量','体积',
             '托盘合计','运输方式','运输单号','到达城市','应送达时间','是否赶上卡班','到货情况','签收日期','签收单情况','备注'];
-        $column = ['owners_name','order_client_code','web_order_number','pick_up_at','sale','client','sku','sku_name','amount','order_remark',
-            'gross_weight','bulk','pallet_total','logistic_name','logistic_number','city','planning_sent_at','is_on_duty_shift','is_arrival','signed_at','receive_bill_status','remark'];
-        $mergeColumn = ['M'];
-        $rule = ["pick_up_at"=> "mysqlDate"];
-        $post = Http::post(config('go.export.url'),['type'=>'unify','sql'=>$sql, 'connection'=>'mysql','rule' => json_encode($rule),
-            'row'=>json_encode($row,JSON_UNESCAPED_UNICODE), 'column'=>json_encode($column),
-            'mergeColumn'=>json_encode($mergeColumn),'datum'=>'pick_up_at','createFormat'=>'merge']);
+        $mergeColumn = ['A','B','C','D','E','F','J','N','P','P','Q','R','S','T','U','V','M'];
+        $mergeRow = [];
+        $list=[];
+        $start_row = 0;
+        $order_client_code_temp = '';
+        $row_count = 0;
+        foreach ($orderTrackings as $index=> $orderTracking) {
+            $logistic =  $orderTracking->commodities->package->order->logistic->name;
+            if($order_client_code_temp==''){
+                $order_client_code_temp=$orderTracking->order_client_code;
+                $row_count=1;
+            }else if($order_client_code_temp==$orderTracking->order_client_code){
+                $row_count++;
+                if($index == $orderTrackings->count()-1){
+                    if($row_count>1){
+                        $end_row=$index+2;
+                        $start_row = $index+3-$row_count;
+                        $mergeRow[(string)($start_row)]=(string)($end_row);
+                    }
+                }
+            }else if($order_client_code_temp!=$orderTracking->order_client_code){
+                if($row_count>1){
+                    $end_row=$index+1;
+                    $start_row = $index+2-$row_count;
+                    $mergeRow[(string)($start_row)]=(string)($end_row);
+                }
+                $start_row=$index+2;
+                $row_count=1;
+                $order_client_code_temp = $orderTracking->order_client_code;
+            }
+
+            $order_client_code = $orderTracking->web_order_number?'':$orderTracking->order_client_code;
+            $web_order_number = $orderTracking->web_order_number??'';
+            $pick_up_at=str_split($orderTracking->pick_up_at,10)[0];
+            $planning_sent_at=str_split($orderTracking->planning_sent_at,10)[0];
+            $signed_at=str_split($orderTracking->signed_at,10)[0];
+            $logistic_number =$orderTracking->commodities->package->logistic_number;
+            if($logistic=='新杰物流'||$logistic=='新杰物流到付'){
+                $logistic_number = $orderTracking->order_client_code;
+            }
+            $list[]=[
+                $orderTracking->owner->name ?? '',
+                $order_client_code,
+                $web_order_number,
+                $pick_up_at=='0000-00-00'?'':$pick_up_at,
+                $orderTracking->sala,
+                $orderTracking->client,
+                $orderTracking->commodities->commodity->sku ?? '',
+                $orderTracking->commodities->commodity->name ?? '',
+                $orderTracking->commodities->amount ?? '',
+                $orderTracking->order_remark,
+                $orderTracking->gross_weight,
+                $orderTracking->bulk,
+                $orderTracking->pallet_total,
+                $orderTracking->commodities->package->order->logistic->name ??'',
+                $logistic_number,
+                $orderTracking->commodities->package->order->city ?? '',
+                $planning_sent_at=='0000-00-00'?'':$planning_sent_at,
+                $orderTracking->is_on_duty_shift,
+                $orderTracking->is_arrival,
+                $signed_at=='0000-00-00'?'':$signed_at,
+                $orderTracking->receive_bill_status,
+                $orderTracking->remark,
+            ];
+        }
+        $post=Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(['row'=>$row,'list'=>$list,'mergeColumn'=>$mergeColumn,'mergeRow'=>$mergeRow],JSON_UNESCAPED_UNICODE),
+            'createFormat'=>'merge']);
+
         if ($post->status() == 500){
             throw new Exception($post->header("Msg"));
         }
@@ -77,6 +225,21 @@ class OrderTrackingController extends Controller
             "Content-type"=>"application/octet-stream",
             "Content-Disposition"=>"attachment; filename=订单跟踪件-".date('ymdHis').'.xlsx',
         ]);
+    }
 
+    public function destroyImg(Request $request)
+    {
+        if(!Gate::allows('订单管理-跟踪-物流公司编辑'))
+            return ['success'=>false,'error'=>'没有对应权限'];
+        $orderTracking = OrderTracking::query()->where('id',$request['id'])->first();
+        if(!$orderTracking){
+            return ['success'=>false,'error'=>'没有找到对应id'];
+        }
+        try {
+            return ['success'=>UploadFile::query()->where('table_name', 'order_trackings')->where('table_id', $orderTracking->order_client_code)->delete()];
+        } catch (Exception $e) {
+            app('LogService')->log(__METHOD__,__FUNCTION__,'追踪件删除照片'.json_encode($e->getMessage()).json_encode($e->getTraceAsString()));
+            return ['success'=>false,'error'=>$e->getMessage()];
+        }
     }
 }

+ 4 - 4
app/Http/Controllers/OwnerController.php

@@ -70,7 +70,7 @@ class OwnerController extends Controller
         ]);
         $authority->save();
 
-        $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+        app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
         return redirect('maintenance/owner/create')->with('successTip', $request->input('name') ?? '');
     }
 
@@ -126,7 +126,7 @@ class OwnerController extends Controller
         $owner->fill($request->all());
         $owner->update();
         event(new CustomerStored($owner));
-        $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+        app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
         return redirect('maintenance/owner/')->with('successTip', "成功修改货主{$owner['name']}!");
     }
 
@@ -145,7 +145,7 @@ class OwnerController extends Controller
         $re = $owner->update([
             "deleted_at" => date('Y-m-d H:i:s'),
         ]);
-        $this->log(__METHOD__, __FUNCTION__, $owner->toJson(), Auth::user()['id']);
+        app('LogService')->log(__METHOD__, __FUNCTION__, $owner->toJson(), Auth::user()['id']);
         return ['success' => $re];
     }
 
@@ -167,7 +167,7 @@ class OwnerController extends Controller
         $owner = Owner::query()->whereNotNull('deleted_at')->where('id', $id)->update([
             "deleted_at" => null,
         ]);
-        $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
+        app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
         return ['success' => 'true', 'owner' => $owner];
     }
 }

+ 6 - 32
app/Http/Controllers/PackageController.php

@@ -4,7 +4,6 @@ namespace App\Http\Controllers;
 
 use App\OrderPackage;
 use App\PaperBox;
-use App\Services\LogisticService;
 use App\Services\OrderPackageService;
 use App\Services\OwnerService;
 use App\Services\PackageService;
@@ -20,33 +19,16 @@ use Illuminate\Support\Facades\Validator;
 
 class PackageController extends Controller
 {
-
-    public function __construct()
-    {
-        app()->singleton('packageService',PackageService::class);
-    }
-
-    /**
-     * Display a listing of the resource.
-     * @param Request $request
-     * @param OwnerService $ownerService
-     * @return void
-     */
     public function index(Request $request,OwnerService $ownerService)
     {
         if(!Gate::allows('称重管理-查询')){ return redirect(url('/'));  }
         $paginateParams = $request->input();
         /** @var PackageService $application */
-        $application = app('packageService');
+        $application = app('PackageService');
         $packages = $application->paginate($request);
         return view('weight.package.index',['packages'=>$packages,'owners'=>$ownerService->getSelection(),'paginateParams'=>$paginateParams]);
     }
 
-    /**
-     * Show the form for creating a new resource.
-     *
-     * @return void
-     */
     public function create()
     {
         if(!Gate::allows('称重管理-录入')){ return redirect(url('/'));  }
@@ -90,7 +72,7 @@ class PackageController extends Controller
         }
         $accomplishToWMS=new Api\thirdPart\flux\PackageController();
         if($batch_number){
-            $this->log(__METHOD__,'活动波次开始同步_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
+            app('LogService')->log(__METHOD__,'活动波次开始同步_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
 //            $this->syncBatch($package->batch_number,$weight,null,null,null,Carbon::now(),null);
             $result=$accomplishToWMS->markWMSOnBatch($batch_number,$weight);
             OrderPackage::createPackagesFromBatchCode($batch_number,$weight);
@@ -119,7 +101,7 @@ class PackageController extends Controller
                 $package->status="上传异常";
             }
             $package->save();
-            $this->log(__METHOD__,'create_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
+            app('LogService')->log(__METHOD__,'create_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
 //            event(new WeighedEvent($package));
         }else{
             /** @var OrderPackageService */
@@ -138,7 +120,7 @@ class PackageController extends Controller
                 $str = "录入包裹失败!";
                 $str .= $package['logistic_number']?"快递单号:{$package['logistic_number']}":'';
                 $str .= $order_code?", 订单号:{$order_code}":'';
-                $this->log(__METHOD__,__FUNCTION__,json_encode($package).json_encode($result).$str,Auth::user()['name']);
+                app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($package).json_encode($result).$str,Auth::user()['name']);
             }
             $package->save();
             $successTip = $str;
@@ -146,13 +128,6 @@ class PackageController extends Controller
         return redirect('package/create')->with('successTip', $successTip);
     }
 
-
-    /**
-     * @param Request $request
-     * @return void
-     * @var LogisticService
-     * @var OwnerService
-     */
     public function statistics(Request $request){
         $packages = app('PackageStatisticsService')->get($request->input());
         $owners=app('OwnerService')->getSelection();
@@ -191,9 +166,9 @@ class PackageController extends Controller
         if ($request->checkAllSign ?? false){
             $params = $request->input();
             unset($params['checkAllSign']);
-            $sql = app('packageService')->getSql($params);
+            $sql = app('PackageService')->getSql($params);
         }else{
-            $sql=app('packageService')->getSql(['id'=>$request->data]);
+            $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",
@@ -303,5 +278,4 @@ class PackageController extends Controller
         ]);
     }
 
-
 }

+ 5 - 5
app/Http/Controllers/PaperBoxController.php

@@ -82,7 +82,7 @@ class PaperBoxController extends Controller
         if ($owner_id){
             $paperBox->owners()->sync($owner_id);
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/paperBox/index/model')->with('successTip','新纸箱'.$request->input('model').'录入成功');
     }
 
@@ -134,7 +134,7 @@ class PaperBoxController extends Controller
         if ($owner_id){
             $paperBox->owners()->sync($owner_id);
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/paperBox/index/model')->with('successTip','纸箱'.$request->input('model').'信息更新成功');
     }
 
@@ -146,10 +146,10 @@ class PaperBoxController extends Controller
     {
         if(!Gate::allows('纸箱-删除')){ return redirect(url('/'));  }
         $paperBox=PaperBox::find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($paperBox),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($paperBox),Auth::user()['id']);
         if ($paperBox->delete()){
             $paperBox->owners()->detach();
-            $this->log(__METHOD__,__FUNCTION__,json_encode($paperBox),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($paperBox),Auth::user()['id']);
             return ['success'=>true];
         }else{
             return ['success'=>false];
@@ -173,7 +173,7 @@ class PaperBoxController extends Controller
                 $exception=Cache::get('exception');
                 $a='';
                 for ($i=0;$i<count($exception);$i++){$a.=implode(',',$exception[$i]).'&#10'; };
-                $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
                 return '<h1 class="text-danger">导入Excel成功<br><textarea style="width: 50%;height: 50%">'.$a.'</textarea></h1>';
             }
         }else{

+ 10 - 10
app/Http/Controllers/PersonnelController.php

@@ -49,7 +49,7 @@ class PersonnelController extends Controller
         if ($userDutyCheckBefore['type']=='登出'&&$userDutyCheck->type=='登出')return ['result'=>true,'data'=>'已存在出场记录!'];
         if ($type=='登出')$userDutyCheck->verify_user_id=Auth::user()['id'];
         $userDutyCheck->save();
-        $this->log(__METHOD__,"录入补卡".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"录入补卡".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
         $errorMessage=$this->makeOrUpdateLaborReport($userDutyCheck);
         if ($errorMessage)return $errorMessage;
         return ['success'=>true,'data'=>$userDutyCheck];
@@ -61,7 +61,7 @@ class PersonnelController extends Controller
         $laborReportService = app('LaborReportService');
         if (!$laborReport&&$userDutyCheck->type=='登入'){
             $newReport=$userDutyCheck->makeEnteringRecord();
-            $this->log(__METHOD__,"进场创建临时工报表记录__".__FUNCTION__,json_encode([$userDutyCheck]));
+            app('LogService')->log(__METHOD__,"进场创建临时工报表记录__".__FUNCTION__,json_encode([$userDutyCheck]));
             if ($newReport) event(new ImportEvent($newReport));
         }
         else if(!$laborReport&&$userDutyCheck->type=='登出'){
@@ -74,7 +74,7 @@ class PersonnelController extends Controller
             }
             if ($laborReportYesterday){
                 $exportReport=$laborReportService->exportReplenishToCreateLaborReportData($laborReportYesterday,$userDutyCheck);
-                $this->log(__METHOD__,"补退场卡修改临时工报表记录__".__FUNCTION__,json_encode([$laborReportYesterday,$userDutyCheck]));
+                app('LogService')->log(__METHOD__,"补退场卡修改临时工报表记录__".__FUNCTION__,json_encode([$laborReportYesterday,$userDutyCheck]));
                 if ($exportReport) event(new ExportEvent($exportReport));
             }
         }else if($laborReport){
@@ -83,7 +83,7 @@ class PersonnelController extends Controller
                 return ['result'=>true,'data'=>'该临时工还未退组,暂不可补退场卡!'];
             }
             $exportReport=$laborReportService->exportReplenishToCreateLaborReportData($laborReport,$userDutyCheck);
-            $this->log(__METHOD__,"补退场卡修改临时工报表记录__".__FUNCTION__,json_encode([$laborReport,$userDutyCheck]));
+            app('LogService')->log(__METHOD__,"补退场卡修改临时工报表记录__".__FUNCTION__,json_encode([$laborReport,$userDutyCheck]));
             if ($exportReport) event(new ExportEvent($exportReport));
         }
     }
@@ -100,7 +100,7 @@ class PersonnelController extends Controller
         if (!$id)return ['error'=>'未找到对应记录!'];
         $processDailyParticipant->status='已审核';
         $processDailyParticipant->update();
-        $this->log(__METHOD__,"任务审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"任务审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
         return;
     }
 
@@ -140,7 +140,7 @@ class PersonnelController extends Controller
         $userDutyCheck->type=$type;
         $userDutyCheck->verify_user_id=Auth::user()['id'];
         $userDutyCheck->update();
-        $this->log(__METHOD__,"打卡审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"打卡审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
         return ["success"=>true,"data"=>$userDutyCheck->verify_user_id];
     }
 
@@ -161,7 +161,7 @@ class PersonnelController extends Controller
         $laborReport=LaborReport::where('user_id',$userDutyCheck->user_id)->where('user_workgroup_id',$workgroup->id)->orderBy('id','desc')->first();
         if (!$laborReport){
             $laborReportNew=LaborReport::createLaborReportData($userDutyCheck);
-            $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$userDutyCheck->user_id,$userDutyCheck->workgroup_id,$userDutyCheck]));
+            app('LogService')->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$userDutyCheck->user_id,$userDutyCheck->workgroup_id,$userDutyCheck]));
             //验证五分钟之内重新换组情况
             $checkInDateNow=Carbon::parse($laborReportNew->created_at)->format('Y-m-d H');
             $laborReports=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$checkInDateNow."%")->orderBy('created_at','DESC')->limit(2)->get();
@@ -176,7 +176,7 @@ class PersonnelController extends Controller
             }
         }else if ($laborReport){
             LaborReport::updateLaborReportVerify($laborReport,$userDutyCheck);
-            $this->log(__METHOD__,"打卡组长审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,"打卡组长审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
         }
         event(new TeamAuditEvent($userDutyCheck));
         return ["success"=>true,"data"=>$userDutyCheck->group_user_id];
@@ -288,9 +288,9 @@ class PersonnelController extends Controller
         $laborReport=LaborReport::where('user_workgroup_id',$userDutyCheck->workgroup_id)->where('user_id',$userDutyCheck->user_id)->orderBy('id','desc')->first();
         if ($laborReport&&$userDutyCheck->type){
             LaborReport::updateLaborReportData($laborReport,$userDutyCheck);
-            $this->log(__METHOD__,"更新临时工报表记录__".__FUNCTION__,json_encode([$laborReport,$userDutyCheck]));
+            app('LogService')->log(__METHOD__,"更新临时工报表记录__".__FUNCTION__,json_encode([$laborReport,$userDutyCheck]));
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>true,'data'=>$userDutyCheck];
     }
 }

+ 11 - 0
app/Http/Controllers/PriceModelController.php

@@ -48,4 +48,15 @@ class PriceModelController extends Controller
         if(!Gate::allows('计费模型-物流-录入')){ return redirect('denied');  }
         return response()->view('maintenance.priceModel.logistic.create');
     }
+
+    public function directLogisticIndex(){
+        if(!Gate::allows('计费模型-直发-查询')){ return redirect('denied');  }
+        return response()->view('maintenance.priceModel.directLogistic.index');
+    }
+
+    public function directLogisticCreate(){
+        if(!Gate::allows('计费模型-直发-录入')){ return redirect('denied');  }
+        return response()->view('maintenance.priceModel.directLogistic.create');
+    }
+
 }

+ 27 - 27
app/Http/Controllers/ProcessController.php

@@ -166,7 +166,7 @@ class ProcessController extends Controller
         $process->status="已驳回";
         $process->update();
         $process->createOperatorLog('驳回');
-        $this->log(__METHOD__,"驳回二次加工单_".__FUNCTION__,json_encode($process),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"驳回二次加工单_".__FUNCTION__,json_encode($process),Auth::user()['id']);
         return $process;
     }
     //接单
@@ -188,7 +188,7 @@ class ProcessController extends Controller
         $process->status="待加工";
         $process->update();
         $process->createOperatorLog('接单');
-        $this->log(__METHOD__,"接单二次加工单_".__FUNCTION__,json_encode($process),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"接单二次加工单_".__FUNCTION__,json_encode($process),Auth::user()['id']);
         return $process;
     }
     //完成
@@ -201,7 +201,7 @@ class ProcessController extends Controller
         $process->update(['status'=>'交接完成']);
         $process->createOperatorLog('交接完成');
         $processStatistic=$result['data'];
-        $this->log(__METHOD__,"完成二次加工单_".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"完成二次加工单_".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
         return ['success'=>true,'data'=>'交接完成'];
     }
     private function statistic($process, $sign_end = false){
@@ -250,7 +250,7 @@ class ProcessController extends Controller
         $processStatistic->gross_profit=$gross_profit;
         $processStatistic->gross_profit_rate=$gross_profit_rate;
         $processStatistic->update();
-        $this->log(__METHOD__,"修改二次加工单统计单_".__FUNCTION__,json_encode($processStatistic),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改二次加工单统计单_".__FUNCTION__,json_encode($processStatistic),Auth::user()['id']);
         return ['success'=>true,'data'=>$processStatistic];
     }
 
@@ -266,7 +266,7 @@ class ProcessController extends Controller
         $processDaily->update();
         $result=$this->countRemains($processDaily);
         $processDailies=$result['processDailies'];
-        $this->log(__METHOD__,"修改当日产量".__FUNCTION__,json_encode($processDaily),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改当日产量".__FUNCTION__,json_encode($processDaily),Auth::user()['id']);
         $response=[];
         $response['status']='success';
         $response['data']=$processDailies;
@@ -315,7 +315,7 @@ class ProcessController extends Controller
             $processStatistic=ProcessStatistic::find($process_id);
             $processStatistic->ended_at=date('Y-m-d H:i:s');
             $processStatistic->update();
-            $this->log(__METHOD__,"二次加工单待验收".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,"二次加工单待验收".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
         }
         return $process_id;
     }
@@ -351,7 +351,7 @@ class ProcessController extends Controller
             'remark'=>$remark,
         ]);
         $processDailyParticipant->save();
-        $this->log(__METHOD__,"添加新参与人".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"添加新参与人".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
         $processDailyParticipant->load(['processDaily'=>function($query){
             $query->with('process');
         }]);
@@ -371,7 +371,7 @@ class ProcessController extends Controller
             $processStatistic=ProcessStatistic::find($processDaily->process_id);
             $processStatistic->started_at=date('Y-m-d H:i:s');
             $processStatistic->update();
-            $this->log(__METHOD__,"二次加工单加工中".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,"二次加工单加工中".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
         }
         $result['status']="success";
         $result['data']=$processDailyParticipant;
@@ -442,7 +442,7 @@ class ProcessController extends Controller
         $processDailyParticipant->dinner_duration=$request->input('dinner_duration');
         $processDailyParticipant->remark=$request->input('remark');
         $processDailyParticipant->update();
-        $this->log(__METHOD__,"修改参与人".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改参与人".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
         if ($processDailyParticipant->processDaily->process->status=='交接完成'){
             $this->statistic($processDailyParticipant->processDaily->process);
         }
@@ -456,7 +456,7 @@ class ProcessController extends Controller
         if (!$processDailyParticipant) return ['success'=>false];
         $processDailyParticipant->status='已审核';
         $processDailyParticipant->update();
-        $this->log(__METHOD__,"登记工时参与人审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"登记工时参与人审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
         return ['success'=>true,'processDailyParticipant'=>$processDailyParticipant];
     }*/
     //获取全部教程
@@ -481,7 +481,7 @@ class ProcessController extends Controller
         $tutorial=Tutorial::find($tutorial_id);
         if (!$tutorial)return ['success'=>false,'data'=>'未找到相关教程!'];
         $tutorial->processes()->syncWithoutDetaching([$process_id]);
-        $this->log(__METHOD__,"添加教程关联".__FUNCTION__,json_encode($process_id),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"添加教程关联".__FUNCTION__,json_encode($process_id),Auth::user()['id']);
         return ['success'=>true,'data'=>$tutorial];
     }
     //删除教程关联
@@ -491,7 +491,7 @@ class ProcessController extends Controller
         $tutorial_id=$request->input('tutorial_id');
         if (!$process_id || !$tutorial_id) return ['success'=>false,'data'=>'二次加工或教程传递错误!'];
         DB::table('process_tutorial')->where('process_id',$process_id)->where('tutorial_id',$tutorial_id)->delete();
-        $this->log(__METHOD__,"删除教程关联".__FUNCTION__,json_encode($process_id),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"删除教程关联".__FUNCTION__,json_encode($process_id),Auth::user()['id']);
         return ['success'=>true];
     }
     /**
@@ -588,7 +588,7 @@ class ProcessController extends Controller
             'process_id'=>$process->id,
         ]);
         $processStatistic->save();
-        $this->log(__METHOD__,"录入二次加工单".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"录入二次加工单".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         //if ($request->input('tutorials'))$process->tutorials()->sync($request->input('tutorials'));
         return ['success'=>true];
     }
@@ -604,20 +604,20 @@ class ProcessController extends Controller
         if (!$process || $process->status!='交接完成' || count($process->signs)>0)return ['success'=>false,'data'=>'无法操作该二次加工单!'];
         $process->createSignUnitPrice($request->unit_price);
         $sign=$process->createSign('发起修改');
-        $this->log(__METHOD__,"修改二次加工单价格_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改二次加工单价格_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>true,'sign'=>$sign];
     }
 
     //二次加工组审核   两个方法大体相同 拆分原因是为了精确区分权限
     function workGroupVerify(Request $request){
         if(!Gate::allows('二次加工管理-组长确认')){ return ['success'=>false,'data'=>'您无权进行该操作!'];  }
-        $this->log(__METHOD__,"修改二次加工单价格二次加工组确认_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改二次加工单价格二次加工组确认_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return $this->verify($request->id,'二次加工组确认');
     }
     //二次加工组审核
     function accountantVerify(Request $request){
         if(!Gate::allows('二次加工管理-财务确认')){ return ['success'=>false,'data'=>'您无权进行该操作!'];  }
-        $this->log(__METHOD__,"修改二次加工单价格财务确认_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改二次加工单价格财务确认_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return $this->verify($request->id,'财务确认');
     }
     private function verify($id,$msg){
@@ -671,7 +671,7 @@ class ProcessController extends Controller
         if (!$process)return ['success'=>false];
         $process->update(['status'=>'待接单']);
         $process->createOperatorLog('审核');
-        $this->log(__METHOD__,"二次加工单审核_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"二次加工单审核_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -795,7 +795,7 @@ class ProcessController extends Controller
                 }
             }
         }
-        $this->log(__METHOD__,"编辑二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"编辑二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -829,7 +829,7 @@ class ProcessController extends Controller
         }
         $process->save();
         $process->createOperatorLog('回滚');
-        $this->log(__METHOD__,"回滚二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"回滚二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>true,'data'=>$process->status];
     }
     //加工完成
@@ -841,7 +841,7 @@ class ProcessController extends Controller
             'status'=>'待验收'
         ]);
         $process->createOperatorLog('加工完成');
-        $this->log(__METHOD__,"标记加工完成_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"标记加工完成_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>true,'data'=>'待验收'];
     }
 
@@ -860,7 +860,7 @@ class ProcessController extends Controller
             'status'=>'待交接'
         ]);
         $process->createOperatorLog('质量验收');
-        $this->log(__METHOD__,"质量验收二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"质量验收二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>true,'data'=>'待交接'];
     }
 
@@ -875,7 +875,7 @@ class ProcessController extends Controller
     function recover(Request $request){
         if(!Gate::allows('二次加工管理-删除')){ return redirect('/');  }
         $checkData=$request->checkData;
-        $this->log(__METHOD__,"回收站恢复二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"回收站恢复二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
         return ['success'=>Process::withTrashed()->whereIn('id',$checkData)->restore()];
     }
     /**
@@ -886,7 +886,7 @@ class ProcessController extends Controller
     public function destroy($id)
     {
         if(!Gate::allows('二次加工管理-删除')){ return redirect('/');  }
-        $this->log(__METHOD__,"删除二次加工单进回收站_".__FUNCTION__,json_encode($id),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"删除二次加工单进回收站_".__FUNCTION__,json_encode($id),Auth::user()['id']);
         return ['success'=>Process::destroy($id)];
     }
 
@@ -923,7 +923,7 @@ class ProcessController extends Controller
         $this->createDeficiencyData($processDailies,$today);
         $processDailies=ProcessDaily::with('processDailyParticipants')->where('process_id',$process_id)
             ->orderBy('date','DESC')->get();
-        $this->log(__METHOD__,"修改二次加工单加工日记录_".__FUNCTION__,json_encode($request),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改二次加工单加工日记录_".__FUNCTION__,json_encode($request),Auth::user()['id']);
         return ['success'=>true,'data'=>$processDailies];
     }
 
@@ -946,7 +946,7 @@ class ProcessController extends Controller
         $processDailies=ProcessDaily::with('processDailyParticipants')->where('process_id',$process_id)
             ->orderBy('date','DESC')->get();
         $this->createAutomaticSupplement($process_id);
-        $this->log(__METHOD__,"修改二次加工单加工日记录_".__FUNCTION__,json_encode($request),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改二次加工单加工日记录_".__FUNCTION__,json_encode($request),Auth::user()['id']);
         return ['success'=>true,'data'=>$processDailies];
     }
 
@@ -1024,7 +1024,7 @@ class ProcessController extends Controller
                         'code' => $str,
                         'name' => $str
                     ]);
-                    $this->log(__METHOD__,"二次加工单录入导入商品数据时添加货主".__FUNCTION__,json_encode($owner),Auth::user()['id']);
+                    app('LogService')->log(__METHOD__,"二次加工单录入导入商品数据时添加货主".__FUNCTION__,json_encode($owner),Auth::user()['id']);
                 }
             }
             $goods = Commodity::query()->with('barcodes')->where('owner_id',$owner->id)//->whereNull('owner_id') TODO 保留,暂时不知为何限定货主为空
@@ -1052,7 +1052,7 @@ class ProcessController extends Controller
                     }
                 }
             }
-            $this->log(__METHOD__,"二次加工单录入导入商品数据时添加商品及条码".__FUNCTION__,
+            app('LogService')->log(__METHOD__,"二次加工单录入导入商品数据时添加商品及条码".__FUNCTION__,
                 json_encode($goods)." || ".json_encode($commodity_barcodes),Auth::user()['id']);
             $processContent=['bill_type'=>'入库单','commodity_id'=>$goods->id,'wms_code'=>$wmsCode,'amount'=>$amount,
                 'commodity_name'=>$goods->name,'commodity_barcodes'=>$commodity_barcodes,'commodity_sku'=>$goods->sku,

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

@@ -14,9 +14,9 @@ class ProcessStatisticController extends Controller
     public function index(Request $request){
         if(!Gate::allows('二次加工管理-查询')){ return redirect('denied');  }
         /** @var ProcessStatisticService $processStatistics */
-        $processStatistics=app("processStatisticService")->paginate($request->input());
-        $owners=app("ownerService")->getSelection();
-        $processMethods=app("processMethodService")->getSelection();
+        $processStatistics=app('ProcessStatisticService')->paginate($request->input());
+        $owners=app("OwnerService")->getSelection();
+        $processMethods=app("ProcessMethodService")->getSelection();
         return view('process.statistic',['processStatistics'=>$processStatistics,'params'=>$request->input(),'owners'=>$owners,'processMethods'=>$processMethods]);
     }
 

+ 3 - 3
app/Http/Controllers/ProvincesController.php

@@ -31,7 +31,7 @@ class ProvincesController extends Controller
         $this->validatorProvinces($request,$id)->validate();
         $provinces=$request->input('Province');
         if(Province::create($provinces)){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/province')->with('successTip','新省份“'.$request->input('Province.name').'”添加成功');
         };
     }
@@ -51,7 +51,7 @@ class ProvincesController extends Controller
         $province=Province::find($id);
         $province->fill($data);
         if ($province->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/province')->with('successTip','省份“'.$request->input('Province.name').'”修改成功');
         }
     }
@@ -60,7 +60,7 @@ class ProvincesController extends Controller
     {
         if(!Gate::allows('省份-删除')){ return redirect(url('/'));  }
         $province=Province::find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($province),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($province),Auth::user()['id']);
         $result=$province->delete();
         return ['success'=>$result];
     }

+ 3 - 3
app/Http/Controllers/QualityLabelController.php

@@ -48,7 +48,7 @@ class QualityLabelController extends Controller
         $qualityLabel=new QualityLabel($request->all());
         $qualityLabel->save();
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/qualityLabel/create')->with('successTip',"成功录入品质标签“{$request->input('name')}”");
     }
     protected function validatorCreate(array $data)
@@ -100,7 +100,7 @@ class QualityLabelController extends Controller
         $this->validatorUpdate($request->all())->validate();
         $qualityLabel->fill($request->all());
         $qualityLabel->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/qualityLabel/')->with('successTip',"成功修改品质标签“{$qualityLabel['name']}”!");
     }
 
@@ -114,7 +114,7 @@ class QualityLabelController extends Controller
     public function destroy(QualityLabel $qualityLabel)
     {
         if(!Gate::allows('品质标签-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$qualityLabel->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$qualityLabel->toJson(),Auth::user()['id']);
         $re=$qualityLabel->delete();
         return ['success'=>$re];
     }

+ 8 - 6
app/Http/Controllers/RejectedBillController.php

@@ -94,7 +94,7 @@ class RejectedBillController extends Controller
         app(RejectedBillService::class)->syncOrderIssue($rejectedBill);
 //        $rejectedBill->同步问题件退件状态();
 
-        $this->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true','id'=>$rejectedBill['id']];
     }
 
@@ -103,7 +103,9 @@ class RejectedBillController extends Controller
         if(!Gate::allows('退货管理-编辑')){
             return ['success'=>'false','fail_info'=>'没有权限'];
         }
-        if($request['is_loaded']=='null')$request['is_loaded']=null;
+        if($request['is_loaded']==='null'){
+            $request['is_loaded']=null;
+        }
         $errorFields= $this->validator($request->all(),true)->errors()->getMessages();
         if(!empty($errorFields)){
             return ['success'=>'false','error_fields'=>$errorFields,'fail_info'=>'fileds error'];
@@ -114,7 +116,7 @@ class RejectedBillController extends Controller
         app(RejectedBillService::class)->syncOrderIssue($rejectedBill);
 //        $rejectedBill->同步问题件退件状态();
 
-        $this->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__.'_'.$rejectedBill['id'],json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true'];
     }
     public function apiConfirmBeStored(Request $request)
@@ -127,7 +129,7 @@ class RejectedBillController extends Controller
         if(config('api.jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"人工确认入库。退单号:".$rejectedBill['logistic_number_return'],Auth::user()['id']);
         $result_TransferToWMS=ReceiveController::accomplishToWMS($rejectedBill);
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         switch ($result_TransferToWMS){
             case 'success':
                 $rejectedBill['is_loaded']=1;
@@ -258,7 +260,7 @@ class RejectedBillController extends Controller
     {
         if(!Gate::allows('退货管理-删除')){ return redirect(url('/'));}
         $re=$rejectedBill->delete();
-        $this->log(__METHOD__,__FUNCTION__,$rejectedBill->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$rejectedBill->toJson(),Auth::user()['id']);
         return ['success'=>$re];
     }
 
@@ -273,7 +275,7 @@ class RejectedBillController extends Controller
 
     function seekOrder(Request $request){
         if (!$request->soreference5)return ['success'=>false];
-        $order=OracleDOCOrderHeader::select('soreference1','customerid','c_contact','c_tel2','carrierid')->where('soreference5',$request->soreference5)->first();
+        $order=OracleDOCOrderHeader::select('soreference1','customerid','c_contact','c_tel2','c_tel1','carrierid')->where('soreference5',$request->soreference5)->first();
         if ($order)return ['success'=>true,'data'=>$order];
     }
 }

+ 8 - 8
app/Http/Controllers/RejectedBillItemController.php

@@ -98,7 +98,7 @@ class RejectedBillItemController extends Controller
         app(RejectedBillService::class)->syncOrderIssue($rejectedBill);
 //        $rejectedBIll->同步问题件();
 //        $rejectedBIll->同步问题件退件状态();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true','id'=>$rejectedBillItem['id']];
     }
 
@@ -121,7 +121,7 @@ class RejectedBillItemController extends Controller
             $rejectedBill = RejectedBill::query()->where('id',$rejectedBillItem->id_rejected_bill)->with('orderIssue')->first();
 //            $rejectedBill->同步问题件退件状态();
             app(RejectedBillService::class)->syncOrderIssue($rejectedBill);
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return ['success'=>'true','id'=>$rejectedBillItem['id']];
         }
     }
@@ -142,7 +142,7 @@ class RejectedBillItemController extends Controller
                 $rejectedBill=RejectedBill::find($rejectedBillItem['id_rejected_bill']);
                 $owner = Owner::find($rejectedBill['id_owner']);
                 if(strstr($owner->name??'','笕尚')){
-                    $this->log(__METHOD__,'找不到表','121行');
+                    app('LogService')->log(__METHOD__,'找不到表','121行');
 //                    $rejected=new Rejected();
 //                    $rejected->fill($rejectedBill->toArray());
 //                    $rejected->fill($rejectedBillItem->toArray());
@@ -153,7 +153,7 @@ class RejectedBillItemController extends Controller
                     $sended=$rejectedJianshang->sendRejected($rejected);
                     if(!$sended){
                         echo '<h1>数据发送给笕尚失败,请通知IT相关负责人</h1>';
-                        $this->log(__METHOD__,'error','数据发送给笕尚失败');
+                        app('LogService')->log(__METHOD__,'error','数据发送给笕尚失败');
                         $havingFail++;
                         return false;
                     }
@@ -228,7 +228,7 @@ class RejectedBillItemController extends Controller
         if(!config('api.API_FAKING')){
             $items->each(function(RejectedBillItem $rejectedBillItem)use(&$havingFail,$rejectedBill){
 //                $rejected=new Rejected();
-//                $this->log(__METHOD__,'找不到表','200行');
+//                app('LogService')->log(__METHOD__,'找不到表','200行');
 //                $rejected->fill($rejectedBill->toArray());
 //                $rejected->fill($rejectedBillItem->toArray());
                 $rejected=$rejectedBill->toArray();
@@ -237,7 +237,7 @@ class RejectedBillItemController extends Controller
                 $sended=$rejectedJianshang->sendRejected($rejected);
                 if(!$sended){
                     echo '<h1>数据发送给笕尚失败,请通知IT相关负责人</h1>';
-                    $this->log(__METHOD__,'error_'.__FUNCTION__.'_'.$rejectedBillItem['id'],'数据发送给笕尚失败');
+                    app('LogService')->log(__METHOD__,'error_'.__FUNCTION__.'_'.$rejectedBillItem['id'],'数据发送给笕尚失败');
                     $havingFail++;
                     return false;
                 }
@@ -251,7 +251,7 @@ class RejectedBillItemController extends Controller
         }
 
         if($havingFail>0){
-            $this->log(__METHOD__,'error_'.__FUNCTION__.'_'.$rejectedBill['id'],"$havingFail/{$items->count()} 条记录没有发送成功",Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'error_'.__FUNCTION__.'_'.$rejectedBill['id'],"$havingFail/{$items->count()} 条记录没有发送成功",Auth::user()['id']);
             return false;
         }
         return true;
@@ -318,7 +318,7 @@ class RejectedBillItemController extends Controller
             $rejectedBillItem->delete();
         });
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true'];
     }
 

+ 13 - 13
app/Http/Controllers/RejectedController.php

@@ -84,7 +84,7 @@ class RejectedController extends Controller
         $rejecteds->each(function(RejectedBill $rejected){
             $rejected->restore();
         });
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true','rejecteds'=>$rejecteds];
     }
 
@@ -257,10 +257,10 @@ class RejectedController extends Controller
     {
         if(!Gate::allows('退货管理-录入')){ return redirect(url('/'));  }
         $this->validatorCreate($request->all())->validate();
-        $this->log(__METHOD__,'找不到表','247行');
+        app('LogService')->log(__METHOD__,'找不到表','247行');
         $rejected=new Rejected($request->all());
         $rejected->save();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('rejected/create')->with('successTip',"成功录入退货信息(退单:{$request->input('logistic_number_return')})");
     }
     public function ajaxCheck(Request $request)
@@ -273,7 +273,7 @@ class RejectedController extends Controller
         if ($re){
             return ['success'=>'true','checked_numbers'=>$rejected['checked_numbers']];
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'false','fail_info'=>'数据更新失败'];
     }
     public function ajaxCheckAll(Request $request)
@@ -295,7 +295,7 @@ class RejectedController extends Controller
                 return ['success'=>'false','fail_info'=>"数据 {$rejected['id']} 更新失败"];
             }
         });
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true','rejecteds'=>$rejecteds];
     }
     public function ajaxFinishAll(Request $request)
@@ -310,7 +310,7 @@ class RejectedController extends Controller
                 return ['success'=>'false','fail_info'=>"数据 {$rejected['id']} 更新失败"];
             }
         });
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true'];
     }
     protected function validatorCreate(array $data)
@@ -377,7 +377,7 @@ class RejectedController extends Controller
         $this->validatorUpdate($request->all())->validate();
         $rejected->fill($request->all());
         $rejected->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('rejected/')->with('successTip',"成功修改退货信息“{$rejected['name']}”!");
     }
 
@@ -391,10 +391,10 @@ class RejectedController extends Controller
     public function destroy(Rejected $rejected)
     {
 //        if(!Gate::allows('退货管理-删除')){ return redirect(url('/'));}
-//        $this->log(__METHOD__,__FUNCTION__,$rejectedBill->toJson(),Auth::user()['id']);
+//        app('LogService')->log(__METHOD__,__FUNCTION__,$rejectedBill->toJson(),Auth::user()['id']);
 //        $items=$rejectedBill->items();
 //        $items->delete();
-//        $this->log(__METHOD__,__FUNCTION__,$items->toJson(),Auth::user()['id']);
+//        app('LogService')->log(__METHOD__,__FUNCTION__,$items->toJson(),Auth::user()['id']);
 //        $re=$rejectedBill->delete();
 //        return ['success'=>$re];
     }
@@ -413,7 +413,7 @@ class RejectedController extends Controller
         }
         return response($post,200, [
             "Content-type"=>"application/octet-stream",
-            "Content-Disposition"=>"attachment; filename=单列表-".date('ymdHis').'.xlsx',
+            "Content-Disposition"=>"attachment; filename=退货单列表-".date('ymdHis').'.xlsx',
         ]);
     }
 
@@ -427,7 +427,7 @@ class RejectedController extends Controller
         $ids=json_decode($ids,true);
         $export=new RejectedExport();
         $export->setIds($ids);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return Excel::download($export,'退货表'.Carbon::now().'.xlsx');
     }
     public function exportExcelOnFilterParams(Request $request)
@@ -445,7 +445,7 @@ class RejectedController extends Controller
         $rejectedBills->get();
         $export=new RejectedExport();
         $export->setRejectedBills($rejectedBills);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return Excel::download($export,'退货表'.Carbon::now().'.xlsx');
 
     }*/
@@ -531,7 +531,7 @@ class RejectedController extends Controller
             'id'=>$id,
             'remark'=>$remark
         ]);
-        $this->log(__METHOD__,'添加或者修改退单备注'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'添加或者修改退单备注'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>true,'status'=>$rejectedBill];
     }
 }

+ 3 - 3
app/Http/Controllers/RoleController.php

@@ -65,7 +65,7 @@ class RoleController extends Controller
             $role->authorities()->sync($authorityIdArr);
         }
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/role/create')->with('successTip',"成功录入角色“{$request->input('name')}”");
     }
     protected function validatorCreate(array $data)
@@ -125,7 +125,7 @@ class RoleController extends Controller
         }else{
             $role->authorities()->sync([]);
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/role/')->with('successTip',"成功修改角色“{$role['name']}”!");
     }
 
@@ -139,7 +139,7 @@ class RoleController extends Controller
     public function destroy(Role $role)
     {
         if(!Gate::allows('角色-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$role->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$role->toJson(),Auth::user()['id']);
         $re=$role->delete();
         return ['success'=>$re];
     }

+ 12 - 12
app/Http/Controllers/StoreCheckingReceiveController.php

@@ -118,12 +118,12 @@ class StoreCheckingReceiveController extends Controller
             if (isset($params['imported_diff_amount']) && $params['imported_diff_amount'] > 0)$is_receive_diff = "是";
             if (isset($params['asn_diff_amount']) && $params['asn_diff_amount'] > 0)$is_asn_diff = "是";
             $item = app('StoreCheckingReceiveItemService')->updateFind($storeCheckingReceiveItem,$params);
-            LogService::log(__METHOD__,"清点数量",json_encode($item,JSON_UNESCAPED_UNICODE));
+            app('LogService')->log(__METHOD__,"清点数量",json_encode($item,JSON_UNESCAPED_UNICODE));
 
             switch ($storeCheckingReceive->status){
                 case '已导入':
                     $SCR = app('StoreCheckingReceiveService')->updateFind($storeCheckingReceive,['status'=>'清点中']);
-                    LogService::log(__METHOD__,"修改盘收任务状态为清点中",json_encode($SCR,JSON_UNESCAPED_UNICODE));
+                    app('LogService')->log(__METHOD__,"修改盘收任务状态为清点中",json_encode($SCR,JSON_UNESCAPED_UNICODE));
                     break;
                 case '清点中':
                     $res = [];
@@ -139,7 +139,7 @@ class StoreCheckingReceiveController extends Controller
                         $res['is_receive_diff'] = $is_receive_diff;
                     if (count($res) > 0){
                         $SCR = app('StoreCheckingReceiveService')->updateFind($storeCheckingReceive,$res);
-                        LogService::log(__METHOD__,"修改盘收任务",json_encode($SCR,JSON_UNESCAPED_UNICODE));
+                        app('LogService')->log(__METHOD__,"修改盘收任务",json_encode($SCR,JSON_UNESCAPED_UNICODE));
                     }
                     break;
             }
@@ -189,7 +189,7 @@ class StoreCheckingReceiveController extends Controller
         switch ($storeCheckingReceive->status){
             case '已导入':
                 $SCR = app('StoreCheckingReceiveService')->updateFind($storeCheckingReceive,['status'=>'清点中']);
-                LogService::log(__METHOD__,"修改盘收任务状态为清点中",json_encode($SCR,JSON_UNESCAPED_UNICODE));
+                app('LogService')->log(__METHOD__,"修改盘收任务状态为清点中",json_encode($SCR,JSON_UNESCAPED_UNICODE));
                 break;
             case '清点中':
                 $res = [];
@@ -204,7 +204,7 @@ class StoreCheckingReceiveController extends Controller
                     $res['is_receive_diff'] = $is_receive_diff;
                 if (count($res) > 0){
                     $SCR = app('StoreCheckingReceiveService')->updateFind($storeCheckingReceive,$res);
-                    LogService::log(__METHOD__,"修改盘收任务",json_encode($SCR,JSON_UNESCAPED_UNICODE));
+                    app('LogService')->log(__METHOD__,"修改盘收任务",json_encode($SCR,JSON_UNESCAPED_UNICODE));
                 }
                 break;
         }
@@ -268,7 +268,7 @@ class StoreCheckingReceiveController extends Controller
             'imported_diff_amount'=>null,
             'asn_diff_amount'=>null,
         ]);
-        LogService::log(__METHOD__,"重置盘收任务所有数量","store_checking_receive_id:".$id);
+        app('LogService')->log(__METHOD__,"重置盘收任务所有数量","store_checking_receive_id:".$id);
         return ['success'=>true];
     }
 
@@ -326,12 +326,12 @@ class StoreCheckingReceiveController extends Controller
         }
         if (count($updateItems) > 0){
             app('StoreCheckingReceiveItemService')->batchUpdate($updateItems);
-            LogService::log(__METHOD__,"匹配ASN-批量更新ASN数量",json_encode($updateItems));
+            app('LogService')->log(__METHOD__,"匹配ASN-批量更新ASN数量",json_encode($updateItems));
         }
 
         if (count($deleteItems) > 0){
             app('StoreCheckingReceiveItemService')->destroy($deleteItems);
-            LogService::log(__METHOD__,"重新匹配ASN-删除原有ASN生成数据",json_encode($updateItems));
+            app('LogService')->log(__METHOD__,"重新匹配ASN-删除原有ASN生成数据",json_encode($updateItems));
         }
 
 
@@ -359,7 +359,7 @@ class StoreCheckingReceiveController extends Controller
         $data = app('StoreCheckingReceiveService')->updateFind($storeCheckingReceive,[
             'asn'=>$asn,'is_asn_diff'=>$diffAmount==0 ? "否" : "是",'status'=>'已ASN入库'
         ]);
-        LogService::log(__METHOD__,"修改盘收任务",json_encode($data,JSON_UNESCAPED_UNICODE));
+        app('LogService')->log(__METHOD__,"修改盘收任务",json_encode($data,JSON_UNESCAPED_UNICODE));
         return ['success'=>true, 'data'=>$data];
     }
 
@@ -379,7 +379,7 @@ class StoreCheckingReceiveController extends Controller
         if ($result['success']) $data = $storeCheckingReceiveService->updateFind($storeCheckingReceive,['status'=>"已收货"]);
         else{
             $data = $storeCheckingReceiveService->updateFind($storeCheckingReceive,['status'=>"收货失败"]);
-            LogService::log(__METHOD__,"盘收快速收货失败",json_encode($result['data'],JSON_UNESCAPED_UNICODE)." | ".json_encode($data,JSON_UNESCAPED_UNICODE));
+            app('LogService')->log(__METHOD__,"盘收快速收货失败",json_encode($result['data'],JSON_UNESCAPED_UNICODE)." | ".json_encode($data,JSON_UNESCAPED_UNICODE));
         }
         return ['success'=>true, 'data'=>$data];
     }
@@ -409,7 +409,7 @@ class StoreCheckingReceiveController extends Controller
             if ($storeCheckingReceive)$this->updateDiffStatus($storeCheckingReceive);
         }
         app('StoreCheckingReceiveItemService')->updateFind($item,$params);
-        LogService::log(__METHOD__,"盘点修改实盘数",'item:'.json_encode($item)."update:",$counted_amount);
+        app('LogService')->log(__METHOD__,"盘点修改实盘数",'item:'.json_encode($item)."update:",$counted_amount);
         return ['success'=>true,"data"=>$data];
     }
 
@@ -431,7 +431,7 @@ class StoreCheckingReceiveController extends Controller
         }
         if (count($update) > 0){
             $scr->update($update);
-            LogService::log(__METHOD__,"修改差异状态",json_encode($scr,JSON_UNESCAPED_UNICODE));
+            app('LogService')->log(__METHOD__,"修改差异状态",json_encode($scr,JSON_UNESCAPED_UNICODE));
         }
     }
 }

+ 4 - 4
app/Http/Controllers/StoreController.php

@@ -196,7 +196,7 @@ class StoreController extends Controller
             $result = $this->executeSP($detail,$asnno,$depository_code,$db,$quality,$conn,$sql_sp);
             if (substr($result, 0, 3) != '000') {
                 oci_close($conn);
-                LogService::log(__METHOD__,"快速入库-FLUX收货失败","ASNNO:".$asnno.";ERROR:".$result);
+                app('LogService')->log(__METHOD__,"快速入库-FLUX收货失败","ASNNO:".$asnno.";ERROR:".$result);
                 return ['success' => false, 'data' => $detail->asnlineno.'收货失败,错误代码:'.$result];
             }
             if (!isset($depositories[$detail->lotatt05]) && $detail->lotatt05){
@@ -227,7 +227,7 @@ class StoreController extends Controller
             'status'=>'已入库',
             'remark'=>$asn->notes,
         ]);
-        LogService::log(__METHOD__,"快速入库",json_encode($store));
+        app('LogService')->log(__METHOD__,"快速入库",json_encode($store));
         foreach ($items as $item){
             $item["store_id"] = $store->id;
         }
@@ -291,13 +291,13 @@ class StoreController extends Controller
             $query = DB::raw("UPDATE DOC_ASN_DETAILS SET RECEIVINGLOCATION = ?  WHERE ASNNO = ? AND ASNLINENO = ?");
             $db->update($query,[$depository_code,$detail->asnno,$detail->asnlineno]);
             $db->commit();
-            LogService::log(__METHOD__,"快速入库-修改FULX属性仓","ASNNO:".$asnno.";原仓:".$detail->receivinglocation.";修改为:".$depository_code);
+            app('LogService')->log(__METHOD__,"快速入库-修改FULX属性仓","ASNNO:".$asnno.";原仓:".$detail->receivinglocation.";修改为:".$depository_code);
         }
         if ($quality && ($quality != $detail->lotatt08)){
             $query = DB::raw("UPDATE DOC_ASN_DETAILS SET LOTATT08 = ?  WHERE ASNNO = ? AND ASNLINENO = ?");
             $db->update($query,[$quality,$detail->asnno,$detail->asnlineno]);
             $db->commit();
-            LogService::log(__METHOD__,"快速入库-修改FULX质量状态","ASNNO:".$asnno.";原质量:".$detail->lotatt08.";修改为:".$quality);
+            app('LogService')->log(__METHOD__,"快速入库-修改FULX质量状态","ASNNO:".$asnno.";原质量:".$detail->lotatt08.";修改为:".$quality);
             $In_LotAtt08_C = $quality;
         }
         $stmt = oci_parse($conn, $sql_sp);

+ 20 - 43
app/Http/Controllers/TestController.php

@@ -19,6 +19,7 @@ use App\OracleActAllocationDetails;
 use App\OracleBasCode;
 use App\OracleBasSKU;
 use App\OracleDOCASNDetail;
+use App\OracleDOCASNHeader;
 use App\OracleDOCOrderHeader;
 use App\OracleDocOrderPackingSummary;
 use App\OracleDOCWaveDetails;
@@ -75,6 +76,7 @@ use Zttp\Zttp;
 
 class TestController extends Controller
 {
+    const ASNREFERENCE_2 = 'ASNREFERENCE2';
     private $data = [];
 
     public function __construct()
@@ -86,35 +88,10 @@ class TestController extends Controller
     {
         return call_user_func([$this, $method], $request);
     }
-    /*dd('IN_Warehouse:'.$doc_asn_detail->warehouseid,
-                     'In_ASNNo_C:'.$doc_asn_detail->docno,
-                     'In_ASNLineNo_C:'.$doc_asn_detail->asnlineno,
-                     'In_New_TraceID_C:'.$doc_asn_detail->new_traceid,
-                     'In_CustomerID:'.$doc_asn_detail->customerid,
-                     'In_SKU:'.$doc_asn_detail->sku,
-                     'In_ReceivedQty:'.$doc_asn_detail->receivedqty_each,
-                     'In_PackID:'.$doc_asn_detail->packid,
-                     'In_LotAtt01_C:'.$doc_asn_detail->lotatt01,
-                     'In_LotAtt02_C:'.$doc_asn_detail->lotatt02,
-                     'In_LotAtt04_C:'.$doc_asn_detail->lotatt04,
-                     'In_LotAtt05_C:'.$doc_asn_detail->lotatt05,
-                     'In_LotAtt08_C:'.$doc_asn_detail->lotatt08,
-                     'In_UserDefine1:'.$doc_asn_detail->userdefine1,
-                     'In_UserDefine2:'.$doc_asn_detail->userdefine2,
-                     'In_UserDefine3:'.$doc_asn_detail->userdefine3,
-                     'In_UserDefine4:'.$doc_asn_detail->userdefine4,
-                     'In_UserDefine5:'.$doc_asn_detail->userdefine5,
-                     'In_FMLocation:'.$doc_asn_detail->warehouseid,
-                     'In_TOLocation_C:'.$doc_asn_detail->warehouseid,
-                     'In_Operator:'.$doc_asn_detail->addwho,
-                     'In_UserID:'.$doc_asn_detail->addwho,
-                     'OUT_Return_Code:'.$result
-                 );*/
+
     public function test4(){
-        $owner_name = "BAOSHI";
-        $owner = app('ownerService')->first(["code"=>$owner_name,"name"=>$owner_name],["name"=>"or"]);
-        if (!$owner) $owner = app('ownerService')->create(["name"=>$owner_name, "code"=>$owner_name]);
-        dd($owner);
+        dd(Unit::query()->whereIn('name',[])->get());
+
     }
 
     public function test2(){
@@ -322,7 +299,7 @@ class TestController extends Controller
                         'status' => $package->status]);
                 if (!$orderPackage) array_push($error, $package->id);
             }
-            LogService::log(__METHOD__, "同步时WMS中未找到这些订单", json_encode($error));
+            app('LogService')->log(__METHOD__, "同步时WMS中未找到这些订单", json_encode($error));
             $id = $packages[count($packages) - 1]->id;
             echo $number . ' a bunch done at:' . now()->toFormattedDateString() . '<br>';
         }
@@ -428,7 +405,7 @@ class TestController extends Controller
                     'status' => $package->status]);
             if (!$orderPackage) array_push($error, $package->id);
         }
-        if (count($error) > 0) LogService::log(__METHOD__, "同步时WMS中未找到这些订单_two", json_encode($error));
+        if (count($error) > 0) app('LogService')->log(__METHOD__, "同步时WMS中未找到这些订单_two", json_encode($error));
     }
 
     function test1()
@@ -480,7 +457,7 @@ class TestController extends Controller
             $processStatistic->gross_profit = $gross_profit;
             $processStatistic->gross_profit_rate = $gross_profit_rate;
             $processStatistic->update();
-            $this->log(__METHOD__, "修改二次加工单统计单_" . __FUNCTION__, json_encode($processStatistic), Auth::user()['id']);
+            app('LogService')->log(__METHOD__, "修改二次加工单统计单_" . __FUNCTION__, json_encode($processStatistic), Auth::user()['id']);
         }
     }
 
@@ -532,17 +509,17 @@ class TestController extends Controller
                 }
             }
             dd($commodityMap,$commodityDel,$commodityTag);
-            LogService::log(__METHOD__,'清理商品',json_encode($logs,JSON_UNESCAPED_UNICODE));
-            LogService::log(__METHOD__,'重新分配商品',json_encode($commodityTag,JSON_UNESCAPED_UNICODE));
+            app('LogService')->log(__METHOD__,'清理商品',json_encode($logs,JSON_UNESCAPED_UNICODE));
+            app('LogService')->log(__METHOD__,'重新分配商品',json_encode($commodityTag,JSON_UNESCAPED_UNICODE));
 
             app('InventoryAccountMissionService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新库存盘点任务
-            app('inventoryCompareService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新库存对比
+            app('InventoryCompareService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新库存对比
             app('InventoryDailyLogService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新库存每日记录
             app('ProcessesContentService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新二次加工内容单
             app('StoreCheckingReceiveItemService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新入库盘收一体
             app('OrderPackageCommoditiesService')->batchUpdateItself('commodity_id', $commodityTag);//批量更新订单商品
 
-            LogService::log(__METHOD__,'删除商品与对应条码',json_encode($commodityDel,JSON_UNESCAPED_UNICODE));
+            app('LogService')->log(__METHOD__,'删除商品与对应条码',json_encode($commodityDel,JSON_UNESCAPED_UNICODE));
             CommodityBarcode::query()->whereIn('commodity_id',$commodityDel)->delete();
             Commodity::destroy($commodityDel);
         }
@@ -551,7 +528,7 @@ class TestController extends Controller
     private function cleanBarcode(){
 
         $logCommodityBarcodes = CommodityBarcode::query()->where('code', "")->get();
-        if (count($logCommodityBarcodes) > 0) LogService::log(__METHOD__, "纠正商品-删除空条码", json_encode($logCommodityBarcodes, JSON_UNESCAPED_UNICODE));
+        if (count($logCommodityBarcodes) > 0) app('LogService')->log(__METHOD__, "纠正商品-删除空条码", json_encode($logCommodityBarcodes, JSON_UNESCAPED_UNICODE));
 
         CommodityBarcode::query()->where('code', "")->delete();
         $barcodes = DB::select(DB::raw('select * from commodity_barcodes c
@@ -564,7 +541,7 @@ where (c.code,c.commodity_id) in (select code,commodity_id from commodity_barcod
         }
 
         $logCommodityBarcodes = CommodityBarcode::query()->whereIn('id', $barcodeDelete)->get();
-        if (count($logCommodityBarcodes) > 0) LogService::log(__METHOD__, "纠正商品-删除重复条码", json_encode($logCommodityBarcodes, JSON_UNESCAPED_UNICODE));
+        if (count($logCommodityBarcodes) > 0) app('LogService')->log(__METHOD__, "纠正商品-删除重复条码", json_encode($logCommodityBarcodes, JSON_UNESCAPED_UNICODE));
 
         CommodityBarcode::destroy($barcodeDelete);
     }
@@ -635,23 +612,23 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
         }
         if (count($updateCommodities) > 0){
             app('InventoryAccountMissionService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新库存盘点任务
-            app('inventoryCompareService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新库存对比
+            app('InventoryCompareService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新库存对比
             app('InventoryDailyLogService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新库存每日记录
             app('ProcessesContentService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新二次加工内容单
             app('StoreCheckingReceiveItemService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新入库盘收一体
             app('OrderPackageCommoditiesService')->batchUpdateItself('commodity_id', $updateCommodities);//批量更新订单商品
         }
 
-        if (count($createBarcodes) > 0) LogService::log(__METHOD__, "纠正商品-录入合并条码", json_encode(data_get($createBarcodes, '*.id'), JSON_UNESCAPED_UNICODE));
+        if (count($createBarcodes) > 0) app('LogService')->log(__METHOD__, "纠正商品-录入合并条码", json_encode(data_get($createBarcodes, '*.id'), JSON_UNESCAPED_UNICODE));
 
         CommodityBarcode::query()->insert($createBarcodes);
         $logCommodityBarcodes = CommodityBarcode::query()->whereIn('commodity_id', $deleteCommodities)->get();
-        if (count($logCommodityBarcodes) > 0) LogService::log(__METHOD__, "纠正商品-删除无用商品条码", json_encode(data_get($logCommodityBarcodes, '*.id'), JSON_UNESCAPED_UNICODE));
+        if (count($logCommodityBarcodes) > 0) app('LogService')->log(__METHOD__, "纠正商品-删除无用商品条码", json_encode(data_get($logCommodityBarcodes, '*.id'), JSON_UNESCAPED_UNICODE));
 
         CommodityBarcode::query()->whereIn('commodity_id', $deleteCommodities)->delete();
 
 //        $logCommodities = Commodity::query()->whereIn('id',$deleteCommodities)->get();
-        if (count($deleteCommodities) > 0) LogService::log(__METHOD__, "纠正商品-删除无用商品", json_encode($deleteCommodities, JSON_UNESCAPED_UNICODE));
+        if (count($deleteCommodities) > 0) app('LogService')->log(__METHOD__, "纠正商品-删除无用商品", json_encode($deleteCommodities, JSON_UNESCAPED_UNICODE));
 
         Commodity::destroy($deleteCommodities);
     }
@@ -731,8 +708,8 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
 
     public function test11()
     {
-        $orderHeader = OracleDOCOrderHeader::query()->with('actAllocationDetails')->where('orderNo', 'SO201024001172')->get();
-        dd(app(OrderService::class)->createByWmsOrder($orderHeader));
+        Redis::set('aa', 42);
+        return (Redis::get('aa'));
     }
 
     public function output()

+ 3 - 3
app/Http/Controllers/UnitsController.php

@@ -32,7 +32,7 @@ class UnitsController extends Controller
         $this->validatorUnit($request,$id)->validate();
         $units=$request->input('Unit');
         if(Unit::create($units)){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/unit')->with('successTip','新计量单位“'.$request->input('Unit.name').'”添加成功');
         };
     }
@@ -52,7 +52,7 @@ class UnitsController extends Controller
         $unit=Unit::find($id);
         $unit->fill($data);
         if ($unit->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/unit')->with('successTip','计量单位“'.$request->input('Unit.name').'”修改成功');
         }
     }
@@ -61,7 +61,7 @@ class UnitsController extends Controller
     {
         if(!Gate::allows('计量单位-删除')){ return redirect(url('/'));  }
         $unit=Unit::find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($unit),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($unit),Auth::user()['id']);
         $result=$unit->delete();
         return ['success'=>$result];
     }

+ 2 - 2
app/Http/Controllers/UserController.php

@@ -132,7 +132,7 @@ class UserController extends Controller
         }else{
             $user->userWorkgroups()->sync([]);
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/user/')->with('successTip',"成功修改用户“{$user['name']}”!");
     }
 
@@ -146,7 +146,7 @@ class UserController extends Controller
     public function destroy(User $user)
     {
         if(!Gate::allows('用户-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$user->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$user->toJson(),Auth::user()['id']);
         $re=$user->delete();
         return ['success'=>$re];
     }

+ 11 - 11
app/Http/Controllers/UserDutyCheckController.php

@@ -46,7 +46,7 @@ class UserDutyCheckController extends Controller
 
         $userLaborToken = $request->cookie('userLaborToken');
         $user_id = Cache::get('dutyCheckTokenStr_'.$userLaborToken);
-        if (!$user_id) $this->log(__METHOD__, "进出场扫码(未绑定设备)__" . __FUNCTION__, json_encode($importAndExportQRCodeType));
+        if (!$user_id) app('LogService')->log(__METHOD__, "进出场扫码(未绑定设备)__" . __FUNCTION__, json_encode($importAndExportQRCodeType));
         if ($userLaborToken && $user_id) {
             $userDetail = UserDetail::find($user_id);
             if($userDetail){
@@ -64,7 +64,7 @@ class UserDutyCheckController extends Controller
                     'importAndExportQRCodeType'=>$importAndExportQRCodeType,
                     'userDetail'=>$userDetail,
                 ];
-                $this->log(__METHOD__, "进出场扫码__" . __FUNCTION__, json_encode($log));
+                app('LogService')->log(__METHOD__, "进出场扫码__" . __FUNCTION__, json_encode($log));
                 return response()->view('personnel/checking-in/importAndExportSuccess', ['full_name' => $userDetail->full_name, 'checked_at' => $userDutyCheck->checked_at, 'type' => $userDutyCheck->type, 'laravelEchoPrefix' => $laravelEchoPrefix]);
 
             }
@@ -102,7 +102,7 @@ class UserDutyCheckController extends Controller
         $dateNow = Carbon::now()->format('Y-m-d');
         $userDutyCheckOld = UserDutyCheck::query()->with('laborReport')->where('user_id', $user_id)->where('checked_at','like',$dateNow.'%')->orderBy('id','desc')->first();
         $date = date('Y-m-d H:i:s');
-        $this->log(__METHOD__, "提交打卡记录__" . __FUNCTION__, json_encode([$user_id, $date]));
+        app('LogService')->log(__METHOD__, "提交打卡记录__" . __FUNCTION__, json_encode([$user_id, $date]));
         $userDutyCheck = new UserDutyCheck([
             'user_id' => $user_id,
             'checked_at' => $date,
@@ -133,7 +133,7 @@ class UserDutyCheckController extends Controller
             }
             $userDutyCheck->type = "登入";
             $userDutyCheck->save();
-            $this->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
+            app('LogService')->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
             return $userDutyCheck;
         }
 
@@ -153,7 +153,7 @@ class UserDutyCheckController extends Controller
             $userDutyCheck->type = '登出';
         }
         $userDutyCheck->save();
-        $this->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
+        app('LogService')->log(__METHOD__, "创建打卡记录" . __FUNCTION__, json_encode($userDutyCheck));
         return $userDutyCheck;
     }
     //去往登记资料页面
@@ -184,7 +184,7 @@ class UserDutyCheckController extends Controller
         $userLabor->update([
             'labor_company_id' => $labor_company_id,
         ]);
-        $this->log(__METHOD__, "更改临时工劳务所信息" . __FUNCTION__, json_encode($userLabor), Auth::user()['id']);
+        app('LogService')->log(__METHOD__, "更改临时工劳务所信息" . __FUNCTION__, json_encode($userLabor), Auth::user()['id']);
         $userDutyCheck=$this->importAndExportDutyCheck($userDetail->user_id,$importAndExportQRCodeType);
         if ($userDutyCheck && $userDutyCheck->isNotImport == true) return "<h1 style='color: darkred;text-align:center'>当前还未入场,不可出场!</h1>";
         if ($userDutyCheck && $userDutyCheck->import == true) return "<h1 style='color: darkred;text-align:center'>您已入场,不可再次入场!</h1>";
@@ -290,7 +290,7 @@ class UserDutyCheckController extends Controller
         $userWorkgroupID = $request->input('userWorkgroupID');
         $userLaborToken = $request->cookie('userLaborToken');
         $user_id = Cache::get('dutyCheckTokenStr_'.$userLaborToken);
-        if (!$user_id)$this->log(__METHOD__, "进组扫码(未绑定设备)__" . __FUNCTION__, json_encode($userWorkgroupID));
+        if (!$user_id)app('LogService')->log(__METHOD__, "进组扫码(未绑定设备)__" . __FUNCTION__, json_encode($userWorkgroupID));
         if ($userLaborToken && $user_id) {
             $dateNow = Carbon::now()->format('Y-m-d');
             $userDutyCheck = UserDutyCheck::where('user_id', $user_id)->where('checked_at', 'like', $dateNow. '%')->orderBy('id', 'desc')->first();
@@ -302,7 +302,7 @@ class UserDutyCheckController extends Controller
                 'userWorkgroupID'=>$userWorkgroupID,
                 'user_id'=>$user_id,
             ];
-            $this->log(__METHOD__, "进组扫码__" . __FUNCTION__, json_encode($log));
+            app('LogService')->log(__METHOD__, "进组扫码__" . __FUNCTION__, json_encode($log));
         }else{
             return view("personnel/checking-in/enterGroupClock", compact('userWorkgroupID'));
         }
@@ -318,7 +318,7 @@ class UserDutyCheckController extends Controller
         $laborReport = LaborReport::where('user_id', $user_id)->where('user_workgroup_id', null)->where('created_at', 'like', Carbon::now()->format('Y-m-d') . '%')->orderBy('id', 'desc')->first();
         if ($laborReport) {
             $newLaborReport = $laborReportService->enterGroupAndUpdateLaborReport($laborReport, $userWorkgroupID);
-            $this->log(__METHOD__, "当日首次进组更新临时工报表记录__" . __FUNCTION__, json_encode($userWorkgroupID));
+            app('LogService')->log(__METHOD__, "当日首次进组更新临时工报表记录__" . __FUNCTION__, json_encode($userWorkgroupID));
             if (!$newLaborReport) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
             if ($newLaborReport) event(new ClockinEvent($newLaborReport));
         } else {
@@ -328,7 +328,7 @@ class UserDutyCheckController extends Controller
             if (!$laborReportNow['group_user_id'] && $laborReportNow['user_workgroup_id']==$userWorkgroupID) return "<h1 style='color: darkred;text-align:center'>当前已进组,请等待组长审核!</h1>";
             //此处表示临时工换组操作
             $newLaborReport = $laborReportService->changeGroupAndMakeLaborReport($user_id, $userWorkgroupID);
-            $this->log(__METHOD__, "当日临时工换组新建临时工报表记录__" . __FUNCTION__, json_encode([$user_id, $userWorkgroupID]));
+            app('LogService')->log(__METHOD__, "当日临时工换组新建临时工报表记录__" . __FUNCTION__, json_encode([$user_id, $userWorkgroupID]));
             if (!$newLaborReport) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
             if ($newLaborReport) event(new ClockinEvent($newLaborReport));
         }
@@ -348,7 +348,7 @@ class UserDutyCheckController extends Controller
         $userDutyCheck = UserDutyCheck::where('user_id', $userDetail->user_id)->where('checked_at', 'like', $dateNow. '%')->orderBy('id', 'desc')->first();
         if (!$userDutyCheck['verify_user_id']) return "<h1 style='color: red;text-align:center'>进场门卫还未审核,暂无法进组!</h1>";
         if ($userDutyCheck->type == '登出') return "<h1 style='color: red;text-align:center'>进场是否未打卡?如若未打,请先返回打进场卡!</h1>";
-        $this->log(__METHOD__, "进组扫码未绑定设备重新绑定__" . __FUNCTION__, json_encode([$userWorkgroupID,$userDetail]));
+        app('LogService')->log(__METHOD__, "进组扫码未绑定设备重新绑定__" . __FUNCTION__, json_encode([$userWorkgroupID,$userDetail]));
         $html=$this->updateLaborReport($userDetail->user_id,$userWorkgroupID,$userLaborToken);
         if ($html)return $html;
     }

+ 5 - 5
app/Http/Controllers/UserLaborController.php

@@ -135,7 +135,7 @@ class UserLaborController extends Controller
         $userDetail->gender=$request->input('gender');
         $userDetail->identity_number=$request->input('identity_number');
         $userDetail->update();
-        $this->log(__METHOD__,"修改用户详情".__FUNCTION__,json_encode($userDetail),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"修改用户详情".__FUNCTION__,json_encode($userDetail),Auth::user()['id']);
         $default_hour_price=$request->input('default_hour_price');
         $laborCompanyName=$request->input('name');
         $labor_company_id=LaborCompany::where('name','=',$laborCompanyName)->value('id');
@@ -144,7 +144,7 @@ class UserLaborController extends Controller
             $userLabor->default_hour_price=$default_hour_price;
             $userLabor->labor_company_id=$labor_company_id;
             $userLabor->update();
-            $this->log(__METHOD__,"修改临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,"修改临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
         }
         return redirect('maintenance/userLabor')->with('successTip','临时工“'.$userDetail->full_name.'”信息修改成功!');
     }
@@ -165,11 +165,11 @@ class UserLaborController extends Controller
             return ['error'=>'未找到对应临时工'];
         }
         $userDetail->delete();
-        $this->log(__METHOD__,"删除用户详情".__FUNCTION__,json_encode($userDetail),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"删除用户详情".__FUNCTION__,json_encode($userDetail),Auth::user()['id']);
         $user->delete();
-        $this->log(__METHOD__,"删除临时工用户".__FUNCTION__,json_encode($user),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"删除临时工用户".__FUNCTION__,json_encode($user),Auth::user()['id']);
         $userLabor->delete();
-        $this->log(__METHOD__,"删除临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"删除临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
         return ['success'=>true];
     }
 }

+ 6 - 6
app/Http/Controllers/UserWorkgroupController.php

@@ -46,7 +46,7 @@ class UserWorkgroupController extends Controller
         ]);
         $sign->save();
         $this->storeAuthority($UserWorkgroup['name'],$UserWorkgroup->id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/userWorkgroup')->with('successTip','新工作组“'.$request->input('name').'”添加成功');
     }
 
@@ -79,7 +79,7 @@ class UserWorkgroupController extends Controller
         if ($sign){
             $sign->mark=$mark;
             $sign->update();
-            $this->log(__METHOD__,'工作组是否需要录入备注'.__FUNCTION__,json_encode($sign),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'工作组是否需要录入备注'.__FUNCTION__,json_encode($sign),Auth::user()['id']);
         }
         if(!$sign){
             $newSign=new Sign([
@@ -89,7 +89,7 @@ class UserWorkgroupController extends Controller
                 'mark'=>$mark,
             ]);
             $newSign->save();
-            $this->log(__METHOD__,'工作组是否需要录入备注'.__FUNCTION__,json_encode($sign),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,'工作组是否需要录入备注'.__FUNCTION__,json_encode($sign),Auth::user()['id']);
         }
         $userWorkgroup['warehouse_id']= $data['warehouse_id'];
         if ($data['name']!=$userWorkgroup->name){
@@ -104,10 +104,10 @@ class UserWorkgroupController extends Controller
             }
             $userWorkgroup->fill($data);
             $userWorkgroup->update();
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         }else{
             $userWorkgroup->update();
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         }
         return redirect('maintenance/userWorkgroup')->with('successTip','工作组“'.$request->input('name').'”修改成功');
     }
@@ -116,7 +116,7 @@ class UserWorkgroupController extends Controller
     {
         if(!Gate::allows('工作组-删除')){ return redirect(url('/'));  }
         $UserWorkgroup=UserWorkgroup::with('signs')->find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($UserWorkgroup),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($UserWorkgroup),Auth::user()['id']);
         $sign=$UserWorkgroup->signs;
         $sign->delete();
         $result=$UserWorkgroup->delete();

+ 3 - 3
app/Http/Controllers/WarehouseController.php

@@ -49,7 +49,7 @@ class WarehouseController extends Controller
         $warehouse=new Warehouse($request->all());
         $warehouse->save();
 
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/warehouse/create')->with('successTip',"成功录入仓库“{$request->input('name')}”");
     }
     protected function validatorCreate(array $data)
@@ -102,7 +102,7 @@ class WarehouseController extends Controller
         $this->validatorUpdate($request->all())->validate();
         $warehouse->fill($request->all());
         $warehouse->update();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('maintenance/warehouse/')->with('successTip',"成功修改仓库“{$warehouse['name']}”!");
     }
 
@@ -116,7 +116,7 @@ class WarehouseController extends Controller
     public function destroy(Warehouse $warehouse)
     {
         if(!Gate::allows('仓库-删除')){ return redirect(url('/'));  }
-        $this->log(__METHOD__,__FUNCTION__,$warehouse->toJson(),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$warehouse->toJson(),Auth::user()['id']);
         $re=$warehouse->delete();
         return ['success'=>$re];
     }

+ 1 - 1
app/Http/Controllers/WaveController.php

@@ -62,7 +62,7 @@ class WaveController extends Controller
         if($meg['fail_info']){
             return $meg;
         }
-        $this->log(__METHOD__,'重置打印标记'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'重置打印标记'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return $meg;
     }
 

+ 12 - 12
app/Http/Controllers/WaybillController.php

@@ -76,7 +76,7 @@ class WaybillController extends Controller
         $this->validatorWaybill($request,$id)->validate();
         /** @var WaybillService */
         $waybill=app('waybillService')->store($request);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('waybill/index')->with('successTip','新运单“'.$waybill->waybill_number.'”录入成功');
     }
 
@@ -151,7 +151,7 @@ class WaybillController extends Controller
             $waybillPayoffParam['gross_profit_rate'] = $waybillPayoffParam['gross_margin']/$waybillPayoffParam['total_receivable'];
             $waybillPayoffService->updateOrCreate($waybillPayoffParam);
         }
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return redirect('waybill/index')->with('successTip','运单“'.$waybill->waybill_number.'”调度成功');
     }
 
@@ -331,7 +331,7 @@ class WaybillController extends Controller
         $waybill=app('waybillService')->find($id);
         $waybill->fill($data);
         if ($waybill->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($waybill),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($waybill),Auth::user()['id']);
             return redirect('waybill/index')->with('successTip','运单“'.$waybill->waybill_number.'”修改成功');
         }
     }
@@ -351,7 +351,7 @@ class WaybillController extends Controller
             $waybillAuditLog['user']=Auth::user();
             $waybill->status='已审核';
             $result=$waybill->save();
-            $this->log(__METHOD__,__FUNCTION__,json_encode($waybill),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($waybill),Auth::user()['id']);
             return ['success'=>$result,'status'=>$waybill->status,'waybillAuditLog'=>$waybillAuditLog];
         }
         return ['exception'=>'请勿重复审核!'];
@@ -370,7 +370,7 @@ class WaybillController extends Controller
         WaybillAuditLog::whereRaw('waybill_id = ? and audit_stage = ?',[$id,"运单阶段"])->delete();
         $waybill->status='待重审';
         $result=$waybill->save();
-        $this->log(__METHOD__,__FUNCTION__,json_encode($waybill),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($waybill),Auth::user()['id']);
         return ['success'=>$result,'status'=>$waybill->status];
     }
     public function waybillEndAudit(Request $request){
@@ -414,7 +414,7 @@ class WaybillController extends Controller
                     ]);
                 }
             }
-            $this->log(__METHOD__,__FUNCTION__,$waybillPayoffJson,Auth::id());
+            app('LogService')->log(__METHOD__,__FUNCTION__,$waybillPayoffJson,Auth::id());
             return ['success'=>$result,'status'=>$waybill->status,'waybillAuditLog'=>$waybillAuditLog];
         }
         return ['exception'=>'请勿重复审核!'];
@@ -511,7 +511,7 @@ class WaybillController extends Controller
                 "type"=>$fileExtension,
             ]);
             if ($uploadFile->save())
-                $this->log(__METHOD__,'图片上传',json_encode($request),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,'图片上传',json_encode($request),Auth::user()['id']);
             $uploadFile->url=asset('/storage'.$uploadFile->url);
             return ['success'=>true,'data'=>$uploadFile];
         }
@@ -532,7 +532,7 @@ class WaybillController extends Controller
             }
         }
         UploadFile::where('table_name','waybills')->whereIn('table_id',$ids)->delete();
-        $this->log(__METHOD__,'图片删除',json_encode($request),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,'图片删除',json_encode($request),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -754,7 +754,7 @@ class WaybillController extends Controller
         $waybills->each(function (Waybill $waybill){
             $waybill->restore();
         });
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>'true','waybills'=>$waybills];
     }
     // 修改运费
@@ -766,7 +766,7 @@ class WaybillController extends Controller
             return ['success'=>'false','fail_info'=>'参数异常'];
         }
         $result = Waybill::where('id',$wayBillId)->update(['fee'=>$waybillFee]);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>$result,'status'=>$result];
     }
     // 修改运输收费
@@ -778,7 +778,7 @@ class WaybillController extends Controller
             return ['success'=>'false','fail_info'=>'参数异常'];
         }
         $result = Waybill::where('id',$wayBillId)->update(['charge'=>$waybillCharge]);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>$result,'status'=>$result];
     }
     // 置顶
@@ -825,7 +825,7 @@ class WaybillController extends Controller
             if ($waybill['warehouse_weight_other']!=$warehouseWeight){
                 $waybill['warehouse_weight_other']=$warehouseWeight;
                 $waybill->update();
-                $this->log(__METHOD__,'刷新仓库计重'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,'刷新仓库计重'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             }
         }else{
             $warehouseWeight=$waybill['warehouse_weight_other'];

+ 4 - 4
app/Http/Controllers/WaybillPriceModelsController.php

@@ -89,7 +89,7 @@ class WaybillPriceModelsController extends Controller
             if ($waybillPriceModel['initial_weight']==null){unset($waybillPriceModel['initial_weight']);}
             $waybillPriceModel=WaybillPriceModel::create($waybillPriceModel);
             event(new WaybillPriceModelEvent($waybillPriceModel));
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/priceModel/waybillPriceModel')->with('successTip','新计费模型录入成功');
         }else{
             return redirect()->back()->with('successTip','该计费模型已存在');
@@ -121,7 +121,7 @@ class WaybillPriceModelsController extends Controller
         $waybillPriceModel->fill($data);
         if ($waybillPriceModel->save()){
             event(new WaybillPriceModelEvent($waybillPriceModel));
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return redirect('maintenance/priceModel/waybillPriceModel')->with('successTip','新计费模型修改成功');
         }
     }
@@ -130,7 +130,7 @@ class WaybillPriceModelsController extends Controller
     {
         if(!Gate::allows('计费模型-删除')){ return redirect(url('/'));  }
         $waybillPriceModel=WaybillPriceModel::find($id);
-        $this->log(__METHOD__,__FUNCTION__,json_encode($waybillPriceModel),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($waybillPriceModel),Auth::user()['id']);
         $result=$waybillPriceModel->delete();
         return ['success'=>$result];
     }
@@ -153,7 +153,7 @@ class WaybillPriceModelsController extends Controller
                 $exception=Cache::get('exception');
                 $a='';
                 for ($i=0;$i<count($exception);$i++){$a.=implode(',',$exception[$i]).'&#10'; };
-                $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
                 return '<h1 class="text-danger">导入Excel成功<br><textarea style="width: 50%;height: 50%">'.$a.'</textarea></h1>';
             }
         }else{

+ 15 - 15
app/Http/Controllers/api/thirdPart/flux/PackageController.php

@@ -18,30 +18,30 @@ class PackageController extends Controller
     public function new_(Request $request)
     {
 //        $requestInputs=$request->all();
-//        $this->log(__METHOD__,'request_'.__FUNCTION__,json_encode($requestInputs),null);
+//        app('LogService')->log(__METHOD__,'request_'.__FUNCTION__,json_encode($requestInputs),null);
 //        $errors=$this->validatorForNew($requestInputs)->errors();
 //        if(count($errors)>0){
-//            $this->log(__METHOD__,'error2_'.__FUNCTION__,json_encode($requestInputs).'||'.json_encode($errors),null);
+//            app('LogService')->log(__METHOD__,'error2_'.__FUNCTION__,json_encode($requestInputs).'||'.json_encode($errors),null);
 //            return ['response'=>['flag'=>'W','message'=>'fields wrong, see Errors report please.',
 //                'errors'=>$errors]];
 //        }
 //        $receiveInputs=$requestInputs['request'];
 //        $package=Package::where('logistic_number',$receiveInputs['SOReference5'])->first();
 //        if (!$receiveInputs['Customer']) {
-//            $this->log(__METHOD__, __FUNCTION__, '富勒没有下发货主!快递单号:'.$receiveInputs['SOReference5'] , null);
+//            app('LogService')->log(__METHOD__, __FUNCTION__, '富勒没有下发货主!快递单号:'.$receiveInputs['SOReference5'] , null);
 //        }
 //        $owner=Owner::select('id')->where('code',$receiveInputs['Customer'])->first();
 //        if (!$owner&&$receiveInputs['SOReference5']) {
 //            Owner::create(['code'=>$receiveInputs['Customer'],'name'=>$receiveInputs['Customer']]);
-//            $this->log(__METHOD__, __FUNCTION__, '富勒下发找不到货主,添加. 快递单号:'.$receiveInputs['SOReference5'] , null);
+//            app('LogService')->log(__METHOD__, __FUNCTION__, '富勒下发找不到货主,添加. 快递单号:'.$receiveInputs['SOReference5'] , null);
 //        }
 //        if (!$receiveInputs['CarrierID']) {
-//            $this->log(__METHOD__, __FUNCTION__, '富勒没有下发快递公司!快递单号:'.$receiveInputs['SOReference5'] , null);
+//            app('LogService')->log(__METHOD__, __FUNCTION__, '富勒没有下发快递公司!快递单号:'.$receiveInputs['SOReference5'] , null);
 //        }
 //        $logistic=Logistic::select('id')->where('code',$receiveInputs['CarrierID'])->first();
 //        if (!$logistic&&$receiveInputs['CarrierID']) {
 //            Logistic::create(['code'=>$receiveInputs['CarrierID'],'name'=>$receiveInputs['CarrierID']]);
-//            $this->log(__METHOD__, __FUNCTION__, '富勒下发找不到承运商,添加. 快递单号:' .$receiveInputs['SOReference5'] , null);
+//            app('LogService')->log(__METHOD__, __FUNCTION__, '富勒下发找不到承运商,添加. 快递单号:' .$receiveInputs['SOReference5'] , null);
 //        }
 //        if ($package) {
 //            $package->delivery_number = $receiveInputs['palletid'];
@@ -65,7 +65,7 @@ class PackageController extends Controller
 //                $package->status = "上传异常";
 //            }
 //            $package->save();
-//            $this->log(__METHOD__, 'fluxPackageApi' . __FUNCTION__, json_encode($request->all()), null);
+//            app('LogService')->log(__METHOD__, 'fluxPackageApi' . __FUNCTION__, json_encode($request->all()), null);
 //            return response()->json(['response' => ['flag' => 'Y', 'code' => '0000', 'message' => '正确接收']])
 //                ->setEncodingOptions(JSON_UNESCAPED_UNICODE);
 //        }
@@ -90,7 +90,7 @@ class PackageController extends Controller
 //                'status'=>'未测量'
 //            ]);
 //        }else{
-//            $this->log(__METHOD__,'fluxPackageApi(no owner or carrier)'.__FUNCTION__,json_encode($request->all()),null);
+//            app('LogService')->log(__METHOD__,'fluxPackageApi(no owner or carrier)'.__FUNCTION__,json_encode($request->all()),null);
 //            $createPackage = new Package([
 //                'logistic_number'=>$receiveInputs['SOReference5'],
 //                'delivery_number'=>$receiveInputs['palletid'],
@@ -126,12 +126,12 @@ class PackageController extends Controller
 //                MarkPackageExcepted::dispatch($createPackage)->delay(Carbon::now()->addMinutes(1440));
 //            }
 //            $createPackage->save();
-//            $this->log(__METHOD__, 'success_' . __FUNCTION__, json_encode($request->all()), null);
+//            app('LogService')->log(__METHOD__, 'success_' . __FUNCTION__, json_encode($request->all()), null);
 //            return response()->json(['response' => ['flag' => 'Y', 'code' => '0000', 'message' => '正确接收']])
 //                ->setEncodingOptions(JSON_UNESCAPED_UNICODE);
 //        }
 //        MarkPackageExcepted::dispatch($createPackage)->delay(Carbon::now()->addMinutes(1440));
-//        $this->log(__METHOD__,'success_'.__FUNCTION__,json_encode($request->all()),null);
+//        app('LogService')->log(__METHOD__,'success_'.__FUNCTION__,json_encode($request->all()),null);
         return response()->json(['response'=>['flag'=>'Y','code'=>'0000','message'=>'正确接收']])
             ->setEncodingOptions(JSON_UNESCAPED_UNICODE);
     }
@@ -185,17 +185,17 @@ class PackageController extends Controller
 //            $json=json_encode($json);
 //            $url=url(config('api.flux.package.new'));
 //            $response = Zttp::post($url, json_decode($json));
-//            $this->log(__METHOD__,'Sign'.__FUNCTION__,json_encode($response->json()),null);
+//            app('LogService')->log(__METHOD__,'Sign'.__FUNCTION__,json_encode($response->json()),null);
 //            $response=$response->json();
 //            $noIssues=true;
 //            if(!$response||!isset($response['response'])||!$response['response']['flag']=='Y'){
 //                $noIssues=false;
 //            }
 //            if($noIssues&&$response['response']['flag']=='Y'){
-//                $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
+//                app('LogService')->log(__METHOD__,'SUCCESS_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
 //                return ['result'=>'success'];
 //            }
-//            $this->log(__METHOD__,'ERROR_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
+//            app('LogService')->log(__METHOD__,'ERROR_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
 //            return ['result'=>'false'];
 //        }catch (\Exception $exception){
 //            Controller::logS(__METHOD__,'Exception_'.__FUNCTION__,'请求异常:'.$exception->getMessage(),null);
@@ -213,7 +213,7 @@ class PackageController extends Controller
             if(!$docOrderPackingSummary){
                 OracleDocOrderPackingSummary::create(['traceid'=>$package['logistic_number'],'orderno'=>$package['oracleInfo']['orderno'],'grossweight'=>$package['weight'],'addwho'=>'WAS','addtime'=>Carbon::now(),'editwho'=>'WAS','edittime'=>Carbon::now()]);
             }
-            $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,"称重写入WMS成功:".json_encode($package),null);
+            app('LogService')->log(__METHOD__,'SUCCESS_'.__FUNCTION__,"称重写入WMS成功:".json_encode($package),null);
             return ['result'=>'success'];
         }catch (\Exception $exception){
             Controller::logS(__METHOD__,'Exception_'.__FUNCTION__,'称重写入WMS请求异常:'.$exception->getMessage(),null);
@@ -232,7 +232,7 @@ class PackageController extends Controller
         OracleDOCWaveHeader::query()->where('waveno',$batchNumber)->update(['userdefine3'=>'Y']);
         OracleIdxAsrsReceive::saveOrUpdateWeightByBatch($batchNumber,$weight);
         OracleDocOrderPackingSummary::saveOrUpdateWeightByBatch($batchNumber,$weight);
-        
+
         Controller::logS(__METHOD__,'SUCCESS_'.__FUNCTION__,'标记WMS波次:'.$batchNumber.',userdefine3="Y"',auth()->user()['id']);
         return ['result'=>true];
     }

+ 3 - 3
app/Http/Controllers/api/thirdPart/flux/ProcessController.php

@@ -180,7 +180,7 @@ class ProcessController extends Controller
         //TODO 保留:根据条码与货主批量二次查找商品
         if (count($commoditiesData) > 0){
             app('CommodityService')->insert($commoditiesData);
-            $this->log(__METHOD__, 'FLUX二次加工单接口录入商品__' . __FUNCTION__, json_encode($commoditiesData), Auth::user()['id']);
+            app('LogService')->log(__METHOD__, 'FLUX二次加工单接口录入商品__' . __FUNCTION__, json_encode($commoditiesData), Auth::user()['id']);
             $commodities=Commodity::query()->whereIn('sku',$commoditiesTem['sku'])->whereIn('owner_id',$commoditiesTem['owner_id'])->get();
             foreach ($commodities as $commodity){
                 if (isset($commodityBarCodeData[$commodity->sku."_".$commodity->owner_id]))
@@ -188,7 +188,7 @@ class ProcessController extends Controller
             }
             if (count($commodityBarCodeData) > 0){
                 app('CommodityBarcodeService')->insert(array_values($commodityBarCodeData));
-                $this->log(__METHOD__, 'FLUX二次加工单接口录入商品条码__' . __FUNCTION__, json_encode($commodityBarCodeData), Auth::user()['id']);
+                app('LogService')->log(__METHOD__, 'FLUX二次加工单接口录入商品条码__' . __FUNCTION__, json_encode($commodityBarCodeData), Auth::user()['id']);
             }
         }
     }
@@ -200,7 +200,7 @@ class ProcessController extends Controller
             "code"=>$code
         ]);
         $owner->save();
-        $this->log(__METHOD__, 'FLUX二次加工单接口录入货主__' . __FUNCTION__, json_encode($owner), Auth::user()['id']);
+        app('LogService')->log(__METHOD__, 'FLUX二次加工单接口录入货主__' . __FUNCTION__, json_encode($owner), Auth::user()['id']);
         return $owner;
     }
 

+ 1 - 1
app/Http/Controllers/api/thirdPart/flux/ReceiveController.php

@@ -31,7 +31,7 @@ class ReceiveController extends Controller
         if($isNotAHugeList){
             $errors=$this->validatorForNew($request->all())->errors();
             if(count($errors)>0){
-                $this->log(__METHOD__, 'error_body' . __FUNCTION__, json_encode($request->getContent()));
+                app('LogService')->log(__METHOD__, 'error_body' . __FUNCTION__, json_encode($request->getContent()));
                 (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'fields wrong, see Errors report please.'.'|'.json_encode($request).'|'.json_encode($errors));
                 return response()->json(['response'=>['flag'=>'W','message'=>'fields wrong, see Errors report please.',
                     'errors'=>$errors]])

+ 2 - 2
app/Http/Controllers/api/thirdPart/flux/WaybillController.php

@@ -24,7 +24,7 @@ class WaybillController extends Controller
         (new Controller())->log(__METHOD__,__FUNCTION__,'WMS requesting:.'.'|'.json_encode($request->all()));
         $errors=$this->validatorForNew($request->all())->errors();
         if(count($errors)>0){
-            $this->log(__METHOD__, 'error_' . __FUNCTION__, json_encode($request->getContent()));
+            app('LogService')->log(__METHOD__, 'error_' . __FUNCTION__, json_encode($request->getContent()));
             (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'fields wrong, see Errors report please.'.'|'.json_encode($request->all()).'|'.json_encode($errors));
             return response()->json(['response'=>['return'=>['returnFlag'=>'0','returnCode'=>'0001','returnDesc'=>'消息处理失败:Failure','resultInfo'=>'',
                 'errors'=>$errors]]])
@@ -154,7 +154,7 @@ class WaybillController extends Controller
         try{
             $response = Zttp::post($url, $sendingJson);
         }catch (\Exception $exception){
-            $this->log(__METHOD__,'Exception_'.__FUNCTION__,'CURL请求异常:'.$exception->getMessage(),null);
+            app('LogService')->log(__METHOD__,'Exception_'.__FUNCTION__,'CURL请求异常:'.$exception->getMessage(),null);
             return false;
         }
         $responseJson = $response->json();

+ 7 - 7
app/Http/Controllers/api/thirdPart/goodscan/PackageController.php

@@ -27,11 +27,11 @@ class PackageController
 
         $errors = $this->validatorWeight($requestInput)->errors(); // 参数校验
         if($requestInput['weight'] == '-9.9'){   // 称重异常校验
-            LogService::log(__METHOD__,'GoodScan weightApi (Error)'.__FUNCTION__,'异方接口称重伤上传异常[异常值为-9.9,电子秤故障或未连接]');
+            app('LogService')->log(__METHOD__,'GoodScan weightApi (Error)'.__FUNCTION__,'异方接口称重伤上传异常[异常值为-9.9,电子秤故障或未连接]');
             return json_encode(['code'=>500,'error'=>'weight=-9.9']);
         }
         if(count($errors) > 0){
-            LogService::log(__METHOD__,'error'.__FUNCTION__,json_encode($request).'||'.json_encode($errors),null);
+            app('LogService')->log(__METHOD__,'error'.__FUNCTION__,json_encode($request).'||'.json_encode($errors),null);
             return json_encode(['code'=>500,'error'=>$errors]);
         }
 
@@ -59,7 +59,7 @@ class PackageController
                 $orderPackage = $this->getOrderPackage($requestInput, $measuringMachine, $order);// 返回包裹对象
                 $this->syncOrderPackageLogistic($orderPackage);// 同步包裹订单的承运商
             } catch (\Exception $e) {
-                LogService::log(__METHOD__,__FUNCTION__,'GoodScan weightApi (Error)'.json_encode($request).'||'.json_encode($orderPackage),null);
+                app('LogService')->log(__METHOD__,__FUNCTION__,'GoodScan weightApi (Error)'.json_encode($request).'||'.json_encode($orderPackage),null);
                 return json_encode(["code"=>500,"error"=>"写入WMS失败!"],JSON_UNESCAPED_UNICODE);
             }
         }
@@ -68,7 +68,7 @@ class PackageController
         }
 //            event(new WeighedEvent($orderPackage));
         $response=["code"=>0,'error'=>'upload success'];
-        LogService::log(__METHOD__,__FUNCTION__,"下发写入包裹成功:".json_encode($request).'||'.json_encode($response),null);
+        app('LogService')->log(__METHOD__,__FUNCTION__,"下发写入包裹成功:".json_encode($request).'||'.json_encode($response),null);
         return json_encode($response,JSON_UNESCAPED_UNICODE);
     }
 
@@ -137,7 +137,7 @@ class PackageController
     {
 //        $fluxController = new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
         if($orderPackage->isActivityBatch()){
-            LogService::log(__METHOD__,__FUNCTION__,"依波次号同步所有包裹:".json_encode($orderPackage),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,"依波次号同步所有包裹:".json_encode($orderPackage),null);
             $params = [
                 'weight'=>$orderPackage['weight'] ?? null,
                 'length'=>$orderPackage['length'] ?? null,
@@ -154,7 +154,7 @@ class PackageController
 //                $orderPackage->status="上传异常";
 //            }
         }else{
-            LogService::log(__METHOD__,__FUNCTION__,"GoodScan 写入包裹至WMS:".json_encode($orderPackage),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,"GoodScan 写入包裹至WMS:".json_encode($orderPackage),null);
 //            try{
 //                $result=$fluxController->accomplishToWMS($orderPackage);
 //                if ($result['result'])
@@ -187,7 +187,7 @@ class PackageController
             return [];
         } catch (\Exception $e) {
             $response=["msg"=>'称重下发修改时发生错误!',json_encode($e),'code'=>500,'data'=>null];
-            LogService::log(__METHOD__,'GoodScan weightApi (Error)'.__FUNCTION__,json_encode($orderPackage).'||'.json_encode($e),null);
+            app('LogService')->log(__METHOD__,'GoodScan weightApi (Error)'.__FUNCTION__,json_encode($orderPackage).'||'.json_encode($e),null);
             return $response;
         }
     }

+ 4 - 4
app/Http/Controllers/api/thirdPart/haiq/StorageController.php

@@ -49,14 +49,14 @@ class StorageController
         ]];
         $response = Http::post(config('api.haiq.storage.relocate'),$req);
         if (($response["code"] ?? false) && $response["code"] != 200){
-            LogService::log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
+            app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
             return ['success'=>false,"data"=>$response["errMsg"]];
         }
        if (($response["status"] ?? false) && $response["status"] == 500){
-           LogService::log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
+           app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
            return ['success'=>false,"data"=>$response["msg"]];
         }
-        LogService::log(__METHOD__,"haiq-料箱出库成功","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
+        app('LogService')->log(__METHOD__,"haiq-料箱出库成功","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
         return ["success"=>true];
     }
-}
+}

+ 11 - 11
app/Http/Controllers/api/thirdPart/jianshang/RejectedController.php

@@ -35,14 +35,14 @@ class RejectedController extends Controller
             $goods_name,$logistic_name_return,$logistic_number,$logistic_number_return,$order_number,
             $quality_label,$sender_mobile,$sender_name);
         if(!$json){
-            $this->log(__METHOD__,'error'.'_'.$logistic_number_return,"没有返回");
+            app('LogService')->log(__METHOD__,'error'.'_'.$logistic_number_return,"没有返回");
             return false;
         }
         if(!$json['success']){
-            $this->log(__METHOD__,'error'.'_'.$logistic_number_return,"返回错误:".json_encode($json));
+            app('LogService')->log(__METHOD__,'error'.'_'.$logistic_number_return,"返回错误:".json_encode($json));
             return false;
         }else{
-            $this->log(__METHOD__,'JianshangResponse'.'_'.$logistic_number_return,json_encode($json));
+            app('LogService')->log(__METHOD__,'JianshangResponse'.'_'.$logistic_number_return,json_encode($json));
         }
         return $json;
     }
@@ -72,7 +72,7 @@ class RejectedController extends Controller
                                       $goods_name,$logistic_name_return,$logistic_number,$logistic_number_return,$order_number,
                                       $quality_label,$sender_mobile,$sender_name){
         if(env('api_faking')){
-            $this->log(__METHOD__,'error_'.__FUNCTION__,'API FAKING');
+            app('LogService')->log(__METHOD__,'error_'.__FUNCTION__,'API FAKING');
             return false;
         }
         $data="{\"amount\":\"$amount\", \"created_at\":\"$created_at\", \"fee_collected\":\"$fee_collected\",
@@ -101,13 +101,13 @@ class RejectedController extends Controller
             'timestamp'=>$timestamp,
             'Content-Type'=>'application/json'
         ])->post($url,json_decode($data,true));
-        $this->log(__METHOD__,__FUNCTION__,$data);
+        app('LogService')->log(__METHOD__,__FUNCTION__,$data);
         if(!$response){
-            $this->log(__METHOD__,'error_'.__FUNCTION__,'回复异常:'.$response->body());
+            app('LogService')->log(__METHOD__,'error_'.__FUNCTION__,'回复异常:'.$response->body());
             return false;
         }
         if(!$response->json()){
-            $this->log(__METHOD__,'error_'.__FUNCTION__,'json为空:'.$response->body());
+            app('LogService')->log(__METHOD__,'error_'.__FUNCTION__,'json为空:'.$response->body());
             return false;
         }
         return $response->json();
@@ -204,7 +204,7 @@ class RejectedController extends Controller
         $timestamp=intval(microtime(true)*1000);
         $nonce=md5(microtime(true));
         $sign=$sortParamsAndMd5(json_decode($data,true),$timestamp,$nonce,config('api.sign_key_rejected_send_jianshang'));
-        $this->log(__METHOD__,'笕尚接口发送请求:',$data);
+        app('LogService')->log(__METHOD__,'笕尚接口发送请求:',$data);
         $url=config('api.url_rejected_send_jianshang2');
         if(env('api_faking'))$url=url(config('api.fakingUrl_rejected_send_jianshang'));
         try{
@@ -216,14 +216,14 @@ class RejectedController extends Controller
                 'Content-Type'=>'application/json'
             ])->post($url,json_decode($data,true));
         }catch (\Exception $e){
-            $this->log(__METHOD__,'笕尚接口返回异常!!:',$e->getMessage().'||'.json_encode($data));
+            app('LogService')->log(__METHOD__,'笕尚接口返回异常!!:',$e->getMessage().'||'.json_encode($data));
             $response=false;
         }
         if(!$response){
-            $this->log(__METHOD__,'笕尚接口返回异常!!:',$response->body());
+            app('LogService')->log(__METHOD__,'笕尚接口返回异常!!:',$response->body());
             return false;
         }
-        $this->log(__METHOD__,'笕尚接口返回:',$response->body());
+        app('LogService')->log(__METHOD__,'笕尚接口返回:',$response->body());
         return $response->json();
     }
 

+ 14 - 14
app/Http/Controllers/api/thirdPart/weight/PackageController.php

@@ -27,7 +27,7 @@ class PackageController extends Controller
 //        $errors=$this->validatorWeight($request)->errors();
 //
 //        if (count($errors)>0){
-//            $this->log(__METHOD__,'error'.__FUNCTION__,json_encode($request).'||'.json_encode($errors),null);
+//            app('LogService')->log(__METHOD__,'error'.__FUNCTION__,json_encode($request).'||'.json_encode($errors),null);
 //            $response=["msg"=>$errors,"code"=>500,"data"=>null];
 //            return json_encode($response);
 //        }
@@ -40,7 +40,7 @@ class PackageController extends Controller
 //                'status'=>'在线'
 //            ]);
 //            $measuringMachine->save();
-//            $this->log(__METHOD__,'weightApi(new measuring machine)'.__FUNCTION__,json_encode($request),null);
+//            app('LogService')->log(__METHOD__,'weightApi(new measuring machine)'.__FUNCTION__,json_encode($request),null);
 //        }else{
 //            $measuringMachineStatus=new MeasuringMachine();
 //            $measuringMachineStatus->changeStatus($measuringMachine);
@@ -82,7 +82,7 @@ class PackageController extends Controller
 //                $package->bulk=$max*$centre*$min;
 //                $package->weighed_at=$reqDate;
 //                $package->status="未上传";
-//                $this->log(__METHOD__,'Batch_'.__FUNCTION__,json_encode($package),null);
+//                app('LogService')->log(__METHOD__,'Batch_'.__FUNCTION__,json_encode($package),null);
 //                $package->save();
 //                $result=$apiController->accomplishToWMS($package);
 //                if ($result['result']){
@@ -113,7 +113,7 @@ class PackageController extends Controller
 //                                "reqDate"=>$reqDate,
 //                                "resDate"=>Carbon::now()]
 //                        ];
-//            $this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'|'.json_encode($response),null);
+//            app('LogService')->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'|'.json_encode($response),null);
 //            return json_encode($response,JSON_UNESCAPED_UNICODE);
 //        }
 //        if (!$package){
@@ -134,7 +134,7 @@ class PackageController extends Controller
 //            $createPackage->fetchPaperBox($max, $centre, $min);
 //            $result=$apiController->accomplishToWMS($createPackage);
 //            if(!$result['result']){
-//                $this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($createPackage),null);
+//                app('LogService')->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($createPackage),null);
 //                $response=["msg"=>"写入WMS失败!","code"=>500,"data"=>null];
 //                return json_encode($response,JSON_UNESCAPED_UNICODE);
 //            }
@@ -153,12 +153,12 @@ class PackageController extends Controller
 //                        "reqDate"=>$reqDate,
 //                        "resDate"=>Carbon::now()]
 //                ];
-//                $this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
+//                app('LogService')->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
 //                return json_encode($response,JSON_UNESCAPED_UNICODE);
 //            }
 //
 //            $response=["msg"=>"保存时发生错误(未下发)!","code"=>500,"data"=>null];
-//            $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
+//            app('LogService')->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response),null);
 //            return json_encode($response,JSON_UNESCAPED_UNICODE);
 //        }
 //    }
@@ -172,7 +172,7 @@ class PackageController extends Controller
         $errors=$this->validatorWeight($request)->errors();
 
         if (count($errors)>0){
-            $this->log(__METHOD__,'error'.__FUNCTION__,json_encode($request).'||'.json_encode($errors),null);
+            app('LogService')->log(__METHOD__,'error'.__FUNCTION__,json_encode($request).'||'.json_encode($errors),null);
             return json_encode(["msg"=>$errors,"code"=>500,"data"=>null]);
         }
 
@@ -197,14 +197,14 @@ class PackageController extends Controller
             $package->fetchPaperBox();
             $package['bulk']=$edges[0]*$edges[1]*$edges[2];
             if ($package->isActivityBatch()){//处理活动波次
-                $this->log(__METHOD__,__FUNCTION__,"依波次号同步所有包裹:".json_encode($package),null);
+                app('LogService')->log(__METHOD__,__FUNCTION__,"依波次号同步所有包裹:".json_encode($package),null);
                 $package->unifyThisMeasureUnderSameBatch();
                 $result=$fluxController->markWMSOnBatch($package['batch_number'], $request['weight']);
                 if(!$result['result']){
                     $package->status="上传异常";
                 }
             }else{
-                $this->log(__METHOD__,__FUNCTION__,"写入包裹至WMS:".json_encode($package),null);
+                app('LogService')->log(__METHOD__,__FUNCTION__,"写入包裹至WMS:".json_encode($package),null);
                 try{
                     $result=$fluxController->accomplishToWMS($package);
                     if ($result['result']){
@@ -230,7 +230,7 @@ class PackageController extends Controller
                 }
             }catch (\Exception $e){
                 $response=["msg"=>"称重下发修改时发生错误!".json_encode($e),"code"=>500,"data"=>null];
-                $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.json_encode($e),null);
+                app('LogService')->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.json_encode($e),null);
                 return json_encode($response,JSON_UNESCAPED_UNICODE);
             }
         }
@@ -271,14 +271,14 @@ class PackageController extends Controller
                 $package->save();
             }catch (\Exception $e){
                 $response=["msg"=>$e->getMessage(),"code"=>500,"data"=>$e->getTraceAsString()];
-                $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.$e->getTraceAsString(),null);
+                app('LogService')->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.$e->getTraceAsString(),null);
                 return json_encode($response,JSON_UNESCAPED_UNICODE);
             }
             $result=$fluxController->accomplishToWMS($package);
             if(!$package['batch_number'])
                 FetchPackageFromOracle::dispatch($package)->delay(Carbon::now()->addMinutes(1440));
             if(!$result['result']){
-                $this->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($package),null);
+                app('LogService')->log(__METHOD__,'weightApi'.__FUNCTION__,json_encode($request).'||'.json_encode($package),null);
                 $response=["msg"=>"写入WMS失败!","code"=>500,"data"=>null];
                 return json_encode($response,JSON_UNESCAPED_UNICODE);
             }
@@ -296,7 +296,7 @@ class PackageController extends Controller
                     "reqDate"=>$reqDate,
                     "resDate"=>Carbon::now()]
             ];
-            $this->log(__METHOD__,__FUNCTION__,"下发写入包裹成功:".json_encode($request).'|'.json_encode($response),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,"下发写入包裹成功:".json_encode($request).'|'.json_encode($response),null);
         return json_encode($response,JSON_UNESCAPED_UNICODE);
     }
 

+ 1 - 1
app/Http/Controllers/api/thirdPart/weixin/WxController.php

@@ -102,7 +102,7 @@ class WxController extends Controller
         $waybill->carrier_weight_other=$carrier_weight_other;
 
         if ($waybill->save()){
-            $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
+            app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             return ['success'=>true];
         }
         else return ['success'=>false];

+ 1 - 1
app/Http/Controllers/api/thirdPart/weixin/WxLoginController.php

@@ -17,7 +17,7 @@ class WxLoginController extends Controller
         if ($user){
             $isRight=Hash::check($pwd,$user['password']);
             if ($isRight){
-                $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),$user->id);
+                app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),$user->id);
                 return ['api_token'=>$user->token()];
             }
             else return ['api_token'=>''];

+ 2 - 2
app/Imports/InventoryCompareImport.php

@@ -25,7 +25,7 @@ class InventoryCompareImport implements ToCollection, WithHeadingRow, WithMultip
     public function __construct()
     {
 //            $this->owner_id=$owner_id;
-            app()->singleton('inventoryCompareService',InventoryCompareService::class);
+            app()->singleton('InventoryCompareService',InventoryCompareService::class);
     }
 
     public function Collection(Collection $collection)
@@ -160,7 +160,7 @@ class InventoryCompareImport implements ToCollection, WithHeadingRow, WithMultip
             }
 //            if(empty($exception)){
                 /** @var InventoryCompareService $service */
-                $service = app('inventoryCompareService');
+                $service = app('InventoryCompareService');
                 $inventoryCompare= $service->createInventoryCompares($inventoryCompares);
                 if (!$inventoryCompare) array_push($exception, ['创建库存对比失败!']);
 //            }

+ 1 - 0
app/Imports/OrderIssueImport.php

@@ -98,6 +98,7 @@ class OrderIssueImport implements ToCollection, WithHeadingRow, WithMultipleShee
                     $arr['rejected_bill_id'] = $rejectedBill['id'];
                 }
                 $orderIssue = OrderIssue::query()->create($arr);
+                $orderIssue->同步退单状态();
                 if ($orderIssue) {
                     array_push($exception, ['订单' . $row['原始运单号'] . '问题件创建成功!']);
                     OrderIssueProcessLog::query()->create(['order_issue_id' => $orderIssue['id'], 'user_id' => Auth::user()['id'], 'content' => '', 'type' => '创建']);

+ 1 - 1
app/Imports/RejectedImport.php

@@ -127,7 +127,7 @@ class RejectedImport implements ToCollection, WithHeadingRow
                 $owner = Owner::find($rejectedBill['id_owner']);
                 if(strstr($owner->name??'','笕尚')){
                     $rejected=new Rejected();
-                    $this->log(__METHOD__,'找不到表','132行');
+                    app('LogService')->log(__METHOD__,'找不到表','132行');
                     $rejected->fill($rejectedBill->toArray());
                     $rejected->fill($item->toArray());
                     $rejectedJianshang=new RejectedController();

+ 7 - 7
app/Imports/StoreCheckingReceiveImport.php

@@ -111,8 +111,8 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
             Cache::put("storeCheckingReceive",["success"=>false, "data"=>"货主为空,不允许录入,至少为一行标明货主!"],86400);
             return false;
         }
-        $owner = app('ownerService')->first(["code"=>$owner_name,"name"=>$owner_name],["name"=>"or"]);
-        if (!$owner) $owner = app('ownerService')->create(["name"=>$owner_name, "code"=>$owner_name]);
+        $owner = app('OwnerService')->first(["code"=>$owner_name,"name"=>$owner_name],["name"=>"or"]);
+        if (!$owner) $owner = app('OwnerService')->create(["name"=>$owner_name, "code"=>$owner_name]);
 
         //使用条码同步
         $commodityController = new CommodityController();
@@ -177,7 +177,7 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
                 }
                 if (count($barcodes) > 0){
                     $commodityBarcodeService->insert($barcodes);
-                    LogService::log(__METHOD__,"盘收导入补录条码",json_encode($barcodes));
+                    app('LogService')->log(__METHOD__,"盘收导入补录条码",json_encode($barcodes));
                 }
             }
 
@@ -215,7 +215,7 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
                     /** @var CommodityService $commodityService */
                     $commodityService = app('CommodityService');
                     $commodityService->insert($createCommodities);
-                    LogService::log(__METHOD__,"盘收录入临时商品",json_encode($createCommodities,JSON_UNESCAPED_UNICODE));
+                    app('LogService')->log(__METHOD__,"盘收录入临时商品",json_encode($createCommodities,JSON_UNESCAPED_UNICODE));
 
                     //拿到商品ID录入条码
                     $barcodes = [];
@@ -236,7 +236,7 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
                     }
                     if (count($barcodes) > 0){
                         $commodityBarcodeService->insert(array_unique($barcodes));
-                        LogService::log(__METHOD__,"盘收导入录入条码",json_encode($barcodes));
+                        app('LogService')->log(__METHOD__,"盘收导入录入条码",json_encode($barcodes));
                     }
                 }
             }
@@ -251,7 +251,7 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
             "created_at" => date('Y-m-d H:i:s'),
             'status' => "已导入",
         ]);
-        LogService::log(__METHOD__,"导入盘收任务-录入盘收任务",json_encode($storeCheckingReceive,JSON_UNESCAPED_UNICODE));
+        app('LogService')->log(__METHOD__,"导入盘收任务-录入盘收任务",json_encode($storeCheckingReceive,JSON_UNESCAPED_UNICODE));
         $storeCheckingReceive->owner_name = $owner_name;
 
         foreach ($items as &$item){
@@ -259,7 +259,7 @@ class StoreCheckingReceiveImport implements ToCollection,WithHeadingRow
         }
 
         app('StoreCheckingReceiveItemService')->insert($items);
-        LogService::log(__METHOD__,"导入盘收任务-批量录入盘收记录",json_encode($items,JSON_UNESCAPED_UNICODE));
+        app('LogService')->log(__METHOD__,"导入盘收任务-批量录入盘收记录",json_encode($items,JSON_UNESCAPED_UNICODE));
 
         Cache::put("storeCheckingReceive",["success"=>true,"data"=>$storeCheckingReceive,"errors"=>$errors],86400);
         return true;

+ 12 - 1
app/OrderIssue.php

@@ -24,6 +24,7 @@ class OrderIssue extends Model
      * situation_explain
      * custom_code  自定义订单号 客户客服自定义
      * imported_status 导入处理
+     * 退回单号
      */
     protected $appends = [
 //        'secondLogisticNumber',
@@ -36,7 +37,7 @@ class OrderIssue extends Model
 
     public function order()
     {
-        return $this->belongsTo('App\Order', 'order_id', 'id');
+        return $this->belongsTo(Order::class, 'order_id', 'id');
     }
 
     public function rejectedBill()
@@ -217,4 +218,14 @@ class OrderIssue extends Model
         return parent::delete();
     }
 
+    public function syncRejectedBill()
+    {
+        if(!isset($this['second_logistic_number'])){
+            $order = $this->order;
+            $rejectedBill = RejectedBill::query()->where('logistic_number','like','原单退回'.'%')->where('order_number',$order->client_code)->first();
+            if($rejectedBill){
+                $this->update(['logistic_number_return'=>$rejectedBill->logistic_number_return]);
+            }
+        }
+    }
 }

+ 2 - 2
app/OrderPackage.php

@@ -109,7 +109,7 @@ class OrderPackage extends Model
             /** @var OrderService */
             $order = app('OrderService')->logisticNumberFirstOrCreateOrder($resultOracleObj['soreference5']);
             if (!$order){
-                LogService::log(__METHOD__,"此包裹在WMS未找到order",json_encode($resultOracleObj),Auth::user()['id']);
+                app('LogService')->log(__METHOD__,"此包裹在WMS未找到order",json_encode($resultOracleObj),Auth::user()['id']);
                 continue;
             }
             array_push($packages,[
@@ -143,7 +143,7 @@ class OrderPackage extends Model
         DB::transaction(function ()use($newPackages){
             OrderPackage::query()->insert($newPackages);
         });
-        LogService::log(__METHOD__,"批量录入包裹成功",json_encode($packages),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"批量录入包裹成功",json_encode($packages),Auth::user()['id']);
     }
     public function unifyThisMeasureUnderSameBatch(){
         $this->fetchPaperBox();

+ 6 - 4
app/OrderTracking.php

@@ -19,13 +19,15 @@ class OrderTracking extends Model
     protected $appends =[
         'ownerName','sku','packageWeight','packageBulk','orderCity','packageLogisticNumber','packageLogistic','orderClientNumber'
     ];
-
     public function commodities(){
-        return $this->hasOne('App\OrderPackageCommodities','id','order_package_commodity_id');
+        return $this->hasOne(OrderPackageCommodities::class,'id','order_package_commodity_id');
     }
-
     public function owner(){
-        return $this->hasOne('App\Owner','id','owner_id');
+        return $this->hasOne(Owner::class,'id','owner_id');
+    }
+    public function uploadFile()
+    {
+        return $this->hasOne(UploadFile::class,'table_id','order_client_code')->where('table_name','order_trackings');
     }
 
     public function getOwnerNameAttribute(){

+ 24 - 1
app/Owner.php

@@ -14,7 +14,22 @@ use App\Traits\ModelTimeFormat;
 class Owner extends Model
 {
     use ModelTimeFormat;
-    public $fillable = ['name','code','checking_count','deleted_at'];
+    public $fillable = [
+        'name',                 //名称
+        'code',                 //代码
+        'checking_count',       //审核数量
+        'deleted_at',           //删除时间
+        "customer_id",          //客户ID
+        "tax_rate",             //税率
+        "contract_number",      //合同号
+        "salesman",             //销售名称
+        "linkman",              //联系人
+        "phone_number",         //联系电话
+        "user_owner_group_id",  //项目组ID
+        "waring_line_on",       //月单量预警
+        "description"           //描述
+    ];
+
     public static function filterAuthorities(){
         $user=Auth::user();
         $query = (new static)->newQuery();
@@ -47,4 +62,12 @@ class Owner extends Model
     public function order(){
         return $this->hasOne(Order::class,'owner_id','id');
     }
+    public function customer()
+    {   //客户
+        return $this->hasOne(Customer::class,"id","customer_id");
+    }
+    public function userOwnerGroup()
+    {   //项目组
+        return $this->hasOne(UserOwnerGroup::class,"id","user_owner_group_id");
+    }
 }

+ 31 - 0
app/OwnerAreaReport.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerAreaReport extends Model
+{
+    protected $fillable = [
+        "owner_id",         //货主ID
+        "counting_month",   //结算月
+        "area_on_tray",     //货物整托
+        "area_on_half_tray",//货物半托
+        "area_on_flat",     //平面区面积
+        "accounting_area",  //结算面积
+        "status"            //状态
+    ];
+
+    public function owner()
+    {   //货主
+        return $this->hasOne(Owner::class,"id","owner_id");
+    }
+
+    /* 结算月格式转换,仅截取至月
+     * 引用:CreateOwnerReport
+     */
+    public function getCountingMonthAttribute($value)
+    {
+        return substr($value,0,7);
+    }
+}

+ 30 - 0
app/OwnerBillReport.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerBillReport extends Model
+{
+   protected $fillable = [
+       "owner_id",       //项目ID
+       "counting_month", //结算月
+       "initial_fee",    //原始账单金额
+       "confirm_fee",    //确认账单金额
+       "difference",     //差额
+       "confirmed",      //确认状态
+   ];
+
+   public function owner()
+   {   //货主
+       $this->hasOne(Owner::class,"id","owner_id");
+   }
+
+    /* 结算月格式转换,仅截取至月
+     * 引用:CreateOwnerReport
+     */
+    public function getCountingMonthAttribute($value)
+    {
+        return substr($value,0,7);
+    }
+}

+ 47 - 0
app/OwnerFeeDetail.php

@@ -0,0 +1,47 @@
+<?php
+
+namespace App;
+
+use App\Services\ProcessMethodService;
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerFeeDetail extends Model
+{
+    protected $fillable = [
+        "owner_id",         //货主ID
+        "counting_month",   //结算月
+        "worked_at",        //作业时间
+        "type",             //类型
+        "shop_id",          //店铺ID
+        "operation_bill",   //发/收/退/提货单号
+        "consignee_name",   //收件人
+        "consignee_phone",  //收件人电话
+        "commodity_amount", //商品数量
+        "logistic_bill",    //快递单号
+        "volume",           //体积
+        "weight",           //重量
+        "logistic_id",      //物流ID
+        "process_method_id",//加工类型ID
+        "work_fee",         //作业费
+        "logistic_fee",     //物流费
+        "created_at",       //创建时间
+    ];
+    public $timestamps = false;
+
+    public function owner()
+    {   //货主
+        return $this->hasOne(Owner::class,"id","owner_id");
+    }
+    public function shop()
+    {   //店铺
+        return $this->hasOne(Shop::class,"id","shop_id");
+    }
+    public function logistic()
+    {   //物流
+        return $this->hasOne(Logistic::class,"id","logistic_id");
+    }
+    public function processMethod()
+    {   //作业类型
+        return $this->hasOne(ProcessMethod::class,"id","process_method_id");
+    }
+}

+ 20 - 0
app/OwnerInStorageRule.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerInStorageRule extends Model
+{
+    protected $fillable = [
+        "owner_price_operation_id", //作业计费ID
+        "amount",                   //计量
+        "unit_id",                  //单位ID
+        "unit_price",               //单价
+    ];
+
+    public function unit()
+    {   //单位
+        return $this->hasOne(Unit::class,"id","unit_id");
+    }
+}

+ 23 - 0
app/OwnerOutStorageRule.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerOutStorageRule extends Model
+{
+    protected $fillable = [
+        "owner_price_operation_id",         //作业计费ID
+        "owner_price_operation_strategy",   //作业计费策略
+        "strategy",                         //出库策略
+        "amount",                           //起步数
+        "unit_id",                          //单位ID
+        "unit_price",                       //单价
+        "feature",                          //特征
+    ];
+
+    public function unit()
+    {   //单位
+        return $this->hasOne(Unit::class,"id","unit_id");
+    }
+}

+ 18 - 0
app/OwnerPriceDirectLogistic.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceDirectLogistic extends Model
+{
+    protected $fillable = [
+        "name",     //名称
+        "base_km"   //起步公里数
+    ];
+
+    public function ownerPriceDirectLogisticCars()
+    {   //直发车计费对应车型费
+        return $this->hasMany(OwnerPriceDirectLogisticCar::class,"owner_price_direct_logistic_id","id");
+    }
+}

+ 20 - 0
app/OwnerPriceDirectLogisticCar.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceDirectLogisticCar extends Model
+{
+    protected $fillable = [
+        "owner_price_direct_logistic_id",   //直发车计费ID
+        "car_type_id",                      //车型ID
+        "base_fee",                         //起步费
+        "additional_fee",                   //续费(元/KM)
+    ];
+
+    public function carType()
+    {   //车型
+        return $this->hasOne(CarType::class,"id","car_type_id");
+    }
+}

+ 23 - 0
app/OwnerPriceExpress.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceExpress extends Model
+{
+    protected $fillable = [
+        "name",                     //名称
+        "initial_weight_unit_id",   //首重单位
+        "additional_weight_unit_id",//续重单位
+    ];
+
+    public function owners()
+    {   //货主
+        $this->belongsToMany(Owner::class,"owner_price_express_owner","owner_price_express_id","owner_id");
+    }
+    public function logistics()
+    {   //物流
+        $this->belongsToMany(Logistic::class,"owner_price_express_logistic","owner_price_express_id","logistic_id");
+    }
+}

+ 24 - 0
app/OwnerPriceExpressProvince.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceExpressProvince extends Model
+{
+    protected $fillable = [
+        "owner_price_express_id",   //快递价格ID
+        "province_id",              //省份ID
+        "initial_weight_price",     //初始单价
+        "additional_weight_price",  //续重单价
+    ];
+
+    public function ownerPriceExpress()
+    {   //快递计费
+        $this->belongsTo(OwnerPriceExpress::class,"owner_price_express_id","id");
+    }
+    public function province()
+    {   //省份
+        $this->hasOne(Province::class,"id","province_id");
+    }
+}

+ 36 - 0
app/OwnerPriceLogistic.php

@@ -0,0 +1,36 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceLogistic extends Model
+{
+    protected $fillable = [
+        "name",             //名称
+        "unit_range",       //单价一区间
+        "unit_id",          //单位一ID
+        "other_unit_range", //单位二区间
+        "other_unit_id",    //单位二ID
+        "pick_up_price",    //提货费
+        "fuel_price",       //燃油附加费
+        "service_price",    //信息服务费
+    ];
+
+    public function unit()
+    {   //单位一
+        return $this->hasOne(Unit::class,"id","unit_id");
+    }
+    public function otherUnit()
+    {   //单位二
+        return $this->hasOne(Unit::class,"id","other_unit_id");
+    }
+    public function owners()
+    {   //货主
+        return $this->belongsToMany(Owner::class,"owner_price_logistic_owner","owner_price_logistic_id","owner_id");
+    }
+    public function logistics()
+    {   //物流
+        return $this->belongsToMany(Logistic::class,"owner_price_logistic_logistic","owner_price_logistic_id","logistic_id");
+    }
+}

+ 34 - 0
app/OwnerPriceLogisticDetail.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceLogisticDetail extends Model
+{
+    protected $fillable = [
+        "owner_price_logistic_id",  //物流计费
+        "unit_id",                  //单位ID
+        "range",                    //区间
+        "province_id",              //省份ID
+        "city_id",                  //城市ID
+        "unit_price",               //单价
+        "delivery_fee",             //送货费
+        "initial_fee",              //起始计费
+        "initial_amount",           //起始计数
+        "rate",                     //费率
+    ];
+
+    public function unit()
+    { //单位
+        return $this->hasOne(Unit::class,"id","unit_id");
+    }
+    public function province()
+    { //省份
+        return $this->hasOne(Province::class,"id","province_id");
+    }
+    public function city()
+    { //城市
+        return $this->hasOne(City::class,"id","city_id");
+    }
+}

+ 25 - 0
app/OwnerPriceOperation.php

@@ -0,0 +1,25 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerPriceOperation extends Model
+{
+    protected $fillable = [
+        "operation_type",   //操作类型
+        "name",             //名称
+        "strategy",         //策略
+        "feature",          //特征
+        "remark",           //备注
+    ];
+
+    public function ownerInStorageRule()
+    {   //入库规则
+        return $this->hasOne(OwnerInStorageRule::class,"owner_price_operation_id","id");
+    }
+    public function ownerOutStorageRules()
+    {   //出库规则
+        return $this->hasMany(OwnerOutStorageRule::class,"owner_price_operation_id","id");
+    }
+}

+ 38 - 0
app/OwnerReport.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace App;
+
+use App\Traits\ModelTimeFormat;
+use Carbon\Carbon;
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerReport extends Model
+{
+    use ModelTimeFormat;
+    protected $fillable = [
+        "owner_id",                     //货主ID
+        "counting_month",               //结算月
+        "daily_average_order_amount",   //日均单量
+        "current_month_counting_area",  //结算月盘点面积
+        "last_month_counting_area",     //结算月上月盘点面积
+        "owner_bill_report_id"          //账单ID
+    ];
+    public $timestamps = false;
+
+    public function owner()
+    {   //货主
+        return $this->hasOne(Owner::class,"id","owner_id");
+    }
+    public function ownerBillReport()
+    {   //账单
+        return $this->hasOne(OwnerBillReport::class,"id","owner_bill_report_id");
+    }
+
+    /* 结算月格式转换,仅截取至月
+     * 引用:CreateOwnerReport
+     */
+    public function getCountingMonthAttribute($value)
+    {
+        return substr($value,0,7);
+    }
+}

+ 23 - 0
app/OwnerStoragePriceModel.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class OwnerStoragePriceModel extends Model
+{
+    protected $fillable = [
+        "counting_type",    //计费类型
+        "using_type",       //用仓类型
+        "minimum_area",     //最低起租面积
+        "price",            //单价
+        "discount_type",    //减免类型
+        "discount_value",   //减免值
+        "unit_id",          //单位ID
+    ];
+
+    public function unit()
+    {   //单位
+        return $this->hasOne(Unit::class,"id","unit_id");
+    }
+}

+ 6 - 1
app/ProcessMethod.php

@@ -8,5 +8,10 @@ use App\Traits\ModelTimeFormat;
 class ProcessMethod extends Model
 {
     use ModelTimeFormat;
-    protected $fillable=['name'];
+    protected $fillable=['name',"unit_id","unit_price"];
+
+    public function unit()
+    {   //单位
+        return $this->hasOne(Unit::class,"id","unit_id");
+    }
 }

+ 12 - 5
app/Providers/AppServiceProvider.php

@@ -2,6 +2,7 @@
 
 namespace App\Providers;
 
+use App\Customer;
 use App\Http\Controllers\Controller;
 use App\Services\AuthorityService;
 use App\Services\CacheService;
@@ -9,9 +10,12 @@ use App\Services\CommodityService;
 use App\Services\common\BatchUpdateService;
 use App\Services\CommodityBarcodeService;
 use App\Services\common\DataHandlerService;
+use App\Services\CustomerService;
 use App\Services\DepositoryService;
 use App\Services\InventoryAccountMissionService;
 use App\Services\InventoryCompareService;
+use App\Services\LogService;
+use App\Services\OracleBasCustomerService;
 use App\Services\OracleBasSkuService;
 use App\Services\OracleDocAsnDetailService;
 use App\Services\OracleDOCOrderHeaderService;
@@ -28,7 +32,9 @@ use App\Services\OrderService;
 use App\Services\OrderIssueWorkLoadService;
 use App\Services\OrderPackageCommoditiesService;
 use App\Services\OrderTrackingService;
+use App\Services\OwnerReportService;
 use App\Services\OwnerService;
+use App\Services\PackageService;
 use App\Services\PackageStatisticsService;
 use App\Services\ProcessesContentService;
 use App\Services\ProcessMethodService;
@@ -42,8 +48,7 @@ use App\Services\StoreCheckingReceiveItemService;
 use App\Services\StoreCheckingReceiveService;
 use App\Services\StoreItemService;
 use App\Services\StoreService;
-use App\Services\StoreStatusService;
-use App\Services\StoreTypeService;
+use App\Services\UserOwnerGroupService;
 use App\Services\UserService;
 use App\Services\WarehouseService;
 use App\Services\WaybillFinancialService;
@@ -68,7 +73,6 @@ class AppServiceProvider extends ServiceProvider
         //
         app()->singleton('OrderIssuePerformanceService',OrderIssuePerformanceService::class);
         app()->singleton('inventoryCompareService',InventoryCompareService::class);
-        app()->singleton('oracleDocAsnHerderService',OracleDocAsnHerderService::class);
     }
 
     /**
@@ -109,6 +113,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('WeighExceptedService',WeighExceptedService::class);
         app()->singleton('AllInventoryService',AllInventoryService::class);
         app()->singleton('InventoryDailyLogService',InventoryDailyLogService::class);
+        app()->singleton('LogService',LogService::class);
         app()->singleton('ProcessService',ProcessService::class);
         app()->singleton('ProcessStatisticService',ProcessStatisticService::class);
         app()->singleton('OwnerService',OwnerService::class);
@@ -126,6 +131,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('StoreCheckingReceiveService',StoreCheckingReceiveService::class);
         app()->singleton('StoreCheckingReceiveItemService',StoreCheckingReceiveItemService::class);
         app()->singleton('CommodityBarcodeService',CommodityBarcodeService::class);
+        app()->singleton('OracleBasCustomerService',OracleBasCustomerService::class);
         app()->singleton('OracleBasSkuService',OracleBasSkuService::class);
         app()->singleton('OracleDocAsnDetailService',OracleDocAsnDetailService::class);
         app()->singleton('InventoryAccountMissionService',InventoryAccountMissionService::class);
@@ -133,6 +139,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('StoreService',StoreService::class);
         app()->singleton('WarehouseService',WarehouseService::class);
         app()->singleton('StoreItemService',StoreItemService::class);
+        app()->singleton('PackageService',PackageService::class);
 
         $this->loadingOrderModuleService();
         $this->loadingBasedModuleService();
@@ -154,12 +161,12 @@ class AppServiceProvider extends ServiceProvider
 
     private function loadingBasedModuleService(){
         app()->singleton("ShopService", ShopService::class);
-        //app()->singleton("logisticService", LogisticService::class);
-        //app()->singleton('OwnerService',OwnerService::class);
         app()->singleton('CommodityService', CommodityService::class);
         app()->singleton('BatchUpdateService', BatchUpdateService::class);
         app()->singleton('DataHandlerService',DataHandlerService::class);
         app()->singleton('DepositoryService',DepositoryService::class);
+        app()->singleton('UserOwnerGroupService',UserOwnerGroupService::class);
+        app()->singleton('CustomerService',CustomerService::class);
     }
 
     private function loadingRejectedModuleService(){

+ 4 - 3
app/Services/CityService.php

@@ -3,6 +3,7 @@
 namespace App\Services;
 
 use App\City;
+use Illuminate\Support\Str;
 
 Class CityService
 {
@@ -29,15 +30,15 @@ Class CityService
         if(isset($city))return $city;
         foreach (CityService::$cities as $city) {
             if(strstr($city,$name) != null){
-               return City::query()->where('name',$city)->first();
+               return City::query()->where('name','like',$city.'%')->first();
             }
         }
         if(str_ends_with($name,'自治州')){
-            $city_name = str_split($name,strpos($name,'自治州'))[0];
+            $city_name = Str::before($name,'自治州');
             return City::query()->where('name','like',$city_name.'%')->first();
         }
         if(str_ends_with($name,'市')){
-            $city_name = str_split($name,strpos($name,'市'))[0];
+            $city_name =  Str::before($name,'市');
             return City::query()->where('name','like',$city_name.'%')->first();
         }
         return null;

+ 2 - 2
app/Services/CommodityService.php

@@ -198,9 +198,9 @@ Class CommodityService
         if(count($insert_params) > 0){
             try {
                 $this->insert($insert_params);
-                LogService::log(__METHOD__,__FUNCTION__,'批量添加 commodity ' . count($insert_params) .json_encode($insert_params) );
+                app('LogService')->log(__METHOD__,__FUNCTION__,'批量添加 commodity ' . count($insert_params) .json_encode($insert_params) );
             } catch (\Exception $e) {
-                LogService::log(__METHOD__,__FUNCTION__,'批量添加 commodity error' .json_encode($insert_params) ."||".$e->getMessage().'||'.$e->getTraceAsString());
+                app('LogService')->log(__METHOD__,__FUNCTION__,'批量添加 commodity error' .json_encode($insert_params) ."||".$e->getMessage().'||'.$e->getTraceAsString());
             }
         }
         return Commodity::query()

+ 14 - 0
app/Services/CustomerService.php

@@ -0,0 +1,14 @@
+<?php 
+
+namespace App\Services; 
+
+use App\Customer;
+
+Class CustomerService
+{
+    public function getSelection($column = ['id', 'name'])
+    {
+        return Customer::query()->select($column)->get();
+    }
+
+}

+ 4 - 4
app/Services/InventoryAccountService.php

@@ -551,7 +551,7 @@ class InventoryAccountService
         $inventoryAccountMission=InventoryAccountMission::query()->find($inventoryAccountMissionId);
         $inventoryAccountMission->checked='跳过';
         $inventoryAccountMission->update();
-        LogService::log(__METHOD__,"跳过盘点记录修改checked状态",json_encode($inventoryAccountMissionId));
+        app('LogService')->log(__METHOD__,"跳过盘点记录修改checked状态",json_encode($inventoryAccountMissionId));
         if ($inventoryAccountMission->checked=='跳过'){
             $inventoryAccount=InventoryAccount::query()->find($inventoryAccountId);
             $inventoryAccount->processed=$inventoryAccount->getProcessedAmount();//已盘点数
@@ -566,7 +566,7 @@ class InventoryAccountService
         $inventoryAccountMission=InventoryAccountMission::query()->find($inventoryAccountMissionId);
         $inventoryAccountMission->checked='确认差异';
         $inventoryAccountMission->update();
-        LogService::log(__METHOD__,"跳过盘点记录修改checked状态",json_encode($inventoryAccountMissionId));
+        app('LogService')->log(__METHOD__,"跳过盘点记录修改checked状态",json_encode($inventoryAccountMissionId));
         return $inventoryAccountMission;
     }
     public function 批量跳过或确认差异($checkData){
@@ -580,7 +580,7 @@ class InventoryAccountService
             $inventoryAccountMission->update();
             array_push($inventoryAccountMissions,$inventoryAccountMission);
         }
-        LogService::log(__METHOD__,"批量跳过或确认差异",json_encode($checkData));
+        app('LogService')->log(__METHOD__,"批量跳过或确认差异",json_encode($checkData));
         $inventoryAccount=InventoryAccount::query()->find($inventoryAccountId);
         $inventoryAccount->processed=$inventoryAccount->getProcessedAmount();//已盘点数
         $inventoryAccount->difference=$inventoryAccount->getDifferenceAmount();//盘点差异数
@@ -605,7 +605,7 @@ class InventoryAccountService
             'goodses'=>$goodses,
             'inventoryId'=>$inventoryId,
         ];
-        LogService::log(__METHOD__,"盘点基于盲收",json_encode($request));
+        app('LogService')->log(__METHOD__,"盘点基于盲收",json_encode($request));
         $inventoryAccountMissions=[];
         foreach ($goodses as $good){
             $barcode=$good['barcode']??'';

+ 3 - 2
app/Services/InventoryDailyLogService.php

@@ -26,7 +26,7 @@ Class InventoryDailyLogService
     }
 
     public function getSql(array $params){
-        return $this->conditionQuery($params)->selectRaw("inventory_daily_logs.created_at,inventory_daily_logs.amount,inventory_daily_logs.volumn_occupied,inventory_daily_logs.gross_weight")
+        return $this->conditionQuery($params)->selectRaw("inventory_daily_logs.id,inventory_daily_logs.created_at,inventory_daily_logs.amount,inventory_daily_logs.volumn_occupied,inventory_daily_logs.gross_weight")
             ->leftJoin('owners','inventory_daily_logs.owner_id','owners.id')
                 ->selectRaw('owners.name owner_name')
             ->leftJoin('depositories','inventory_daily_logs.depository_id','depositories.id')
@@ -34,7 +34,8 @@ Class InventoryDailyLogService
             ->leftJoin('commodities','inventory_daily_logs.commodity_id','commodities.id')
                 ->selectRaw('commodities.name commodity_name,commodities.sku commodity_sku,commodities.length commodity_length,commodities.width commodity_width,commodities.height commodity_height,commodities.volumn commodity_volumn')
             ->leftJoin('commodity_barcodes','commodity_barcodes.commodity_id','commodities.id')
-                ->selectRaw('commodity_barcodes.code commodity_barcode_code')
+                ->selectRaw("GROUP_CONCAT(commodity_barcodes.code) commodity_barcode_code")
+            ->groupBy('id')
             ->sql();
     }
 

+ 15 - 6
app/Services/LogisticService.php

@@ -9,14 +9,23 @@ use Illuminate\Support\Facades\Auth;
 
 Class LogisticService
 {
+    /** @var CacheService $cacheService */
+    private $cacheService;
+    function __construct(){
+        $this->cacheService=app('CacheService');
+    }
     public function getSelection($column = ['id','name']){
-        return Logistic::query()->select($column)->get();
+        return $this->cacheService->getOrExecute('LogisticAll_idName',function()use($column){
+            return Logistic::query()->select($column)->get();
+        },config('cache.expirations.persistent'));
     }
 
     public function firstOrCreate(array $params, array $values = null){
-        $logistic = Logistic::query();
-        if ($values)return $logistic->firstOrCreate($params, $values);
-        return $logistic->firstOrCreate($params);
+        return $this->cacheService->getOrExecute('LogisticFirstOrCreate'.md5(json_encode($params).json_encode($values)),function()use($params,$values){
+            $logistic = Logistic::query();
+            if ($values)return $logistic->firstOrCreate($params, $values);
+            return $logistic->firstOrCreate($params);
+        },config('cache.expirations.commonFrequent'));
     }
 
     public function getByWmsOrders($orderHeaders){
@@ -53,10 +62,10 @@ Class LogisticService
         try {
             if(count($insert_params) > 0){
                 $this->insert($insert_params);
-                LogService::log(__METHOD__, __FUNCTION__, '批量创建 owner error' . count($insert_params) . json_encode($insert_params) );
+                app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 owner error' . count($insert_params) . json_encode($insert_params) );
             }
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '批量创建 owner error' . json_encode($insert_params) . "||".$e->getMessage() . '||' . $e->getTraceAsString() );
+            app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 owner error' . json_encode($insert_params) . "||".$e->getMessage() . '||' . $e->getTraceAsString() );
         } finally {
             return Logistic::query()->whereIn('code',$codes)->get();
         }

+ 4 - 8
app/Services/LogisticTimingService.php

@@ -8,20 +8,16 @@ use App\Province;
 
 Class LogisticTimingService
 {
-    /**
-     * @param string $cityName
-     * @param string $provinceName
-     * @param string $logisticName
-     * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|null
-     */
+
     public function findByParams($cityName,$provinceName,$logisticId)
     {
         $logistic = Logistic::query()->where('id',$logisticId)->first();
-        if( str_starts_with($logistic->name,'顺丰')){
+        if(!str_starts_with($logistic->name,'新杰')){
             $city = app(CityService::class)->findByName($cityName);
             $province = app(ProvinceService::class)->findByName($provinceName);
+            $logistic = Logistic::query()->where('name','顺丰特惠')->first();
             if(isset($city) && isset($province)){
-                return $this->findByCityIdAndProvinceIdAndLogisticName($city->id,$province->id,$logisticId);
+                return $this->findByCityIdAndProvinceIdAndLogisticName($city->id,$province->id,$logistic->id);
             }
             return null;
         }

+ 15 - 0
app/Services/OracleBasCustomerService.php

@@ -6,6 +6,11 @@ use App\OracleBasCustomer;
 
 Class OracleBasCustomerService
 {
+    /** @var CacheService $cacheService */
+    private $cacheService;
+    function __construct(){
+        $this->cacheService=app('CacheService');
+    }
     public function getWareHouse($customerIDs = null)
     {
         if(!$customerIDs){
@@ -13,5 +18,15 @@ Class OracleBasCustomerService
         }
         return  OracleBasCustomer::query()->where('Customer_Type','WH')->get();
     }
+    public function getCustomers($codes)
+    {
+        return $this->cacheService->getOrExecute('OracleBasCustomersAll'.md5(json_encode($codes)),function()use($codes){
+            return OracleBasCustomer::query()->select('customerid','descr_c')
+                ->where('customer_type','OW')
+                ->where('active_flag','Y')
+                ->whereIn('customerid',$codes)
+                ->get();
+        },config('cache.expirations.owners'));
+    }
 
 }

+ 6 - 0
app/Services/OracleDOCOrderHeaderService.php

@@ -9,6 +9,12 @@ use App\Owner;
 Class OracleDOCOrderHeaderService
 {
 
+    static $columns =[
+        'orderno','customerid','ordertime','soreference1','consigneeid','c_contact','consigneename','c_address1',
+        'c_city','c_province','userdefine1','addtime','edittime','notes','carrierid','carriername','lastshipmenttime','edisendflag',
+        'c_tel2','transportation','warehouseid'
+    ];
+
     function first(array $params){
         $order = OracleDOCOrderHeader::query();
         foreach ($params as $column => $value){

+ 22 - 13
app/Services/OrderIssueService.php

@@ -78,6 +78,9 @@ class OrderIssueService
                 $query->where('logistic_id', $arr['logistic_id']);
             });
         }
+        if (isset($arr['custom_code'])) {
+            $query->where('custom_code', $arr['custom_code']);
+        }
 
         $query->selectRaw('order_issues.* ,order_issue_on_tops.id top_id ,order_issue_on_tops.remark,order_issue_on_tops.updated_at top_update')
             ->leftJoin('order_issue_on_tops', 'order_issue_on_tops.order_issue_id', '=', 'order_issues.id')
@@ -306,6 +309,7 @@ class OrderIssueService
         try {
             $this->insert($innerParams);
             $ordersIssues = OrderIssue::query()->whereIn('order_id', data_get($innerParams, '*.order_id'))->get();
+            $this->同步退单状态($ordersIssues);
             $param = [
                 'ids' => data_get($ordersIssues, '*.id'),
                 'content' => '',
@@ -313,14 +317,23 @@ class OrderIssueService
                 'type' => '创建'
             ];
             app(OrderIssueProcessLogService::class)->create($param);
-            LogService::log(__METHOD__, __FUNCTION__, '创建问题件' . count($innerParams) . json_encode($innerParams));
+            app('LogService')->log(__METHOD__, __FUNCTION__, '创建问题件' . count($innerParams) . json_encode($innerParams));
             return true;
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '创建问题件 error' . count($innerParams) . json_encode($innerParams) . $e->getMessage() . $e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, '创建问题件 error' . count($innerParams) . json_encode($innerParams) . $e->getMessage() . $e->getTraceAsString());
             return false;
         }
     }
 
+    public function 同步退单状态($orderIssues)
+    {
+        if(!$orderIssues)return;
+        foreach ($orderIssues as $orderIssue) {
+            $orderIssue->syncRejectedBill();
+            $orderIssue->同步退单状态();
+        }
+    }
+
     public function createOrFindByOrderNo($orderNo)
     {
         $orderHeader = OracleDOCOrderHeader::query()->where('orderNo', $orderNo)->first();
@@ -355,9 +368,9 @@ class OrderIssueService
             $orderIssue = OrderIssue::query()->create($arr);
             $orderIssue->同步退单状态();
             $orderIssue->order = $order;
-            LogService::log(__METHOD__, __FUNCTION__, '创建问题件' . json_encode($orderIssue));
+            app('LogService')->log(__METHOD__, __FUNCTION__, '创建问题件' . json_encode($orderIssue));
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '创建问题件error' . json_encode($arr) . $e->getMessage() . $e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, '创建问题件error' . json_encode($arr) . $e->getMessage() . $e->getTraceAsString());
         } finally {
             unset($orderHeader, $rejectedBill, $order);
             return $orderIssue;
@@ -422,10 +435,10 @@ class OrderIssueService
     {
         try {
             $bool = OrderIssue::query()->whereIn('id', $ids)->delete();
-            LogService::log(__METHOD__, __FUNCTION__, json_encode($ids));
+            app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($ids));
             return ['success' => $bool];
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, 'error' . json_decode($ids) . '||' . $e->getMessage() . '||' . $e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, 'error' . json_decode($ids) . '||' . $e->getMessage() . '||' . $e->getTraceAsString());
             return ['success' => false];
         }
     }
@@ -467,11 +480,7 @@ class OrderIssueService
         return ['success' => true, 'order' => $order];
     }
 
-    /**
-     * @param string $logisticNumber
-     * @param string $type
-     * @param string $result_explain
-     */
+
     public function createOrderIssue($logisticNumber, $type, $result_explain, $importedStatus = '正常', $custom_code = null)
     {
         $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails', 'oracleBASCode'])
@@ -526,10 +535,10 @@ class OrderIssueService
         }
         try {
             OrderIssue::query()->whereIn('id', $ids)->update(['imported_status' => '导入已梳理']);
-            LogService::log(__METHOD__,__FUNCTION__,'导入处理 '.json_encode($ids).'导入处理');
+            app('LogService')->log(__METHOD__,__FUNCTION__,'导入处理 '.json_encode($ids).'导入处理');
             return ['success' => true];
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'导入处理 error'.json_encode($e->getMessage()).$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'导入处理 error'.json_encode($e->getMessage()).$e->getTraceAsString());
             return ['success' => false,'fail_info'=>$e->getMessage()];
         }
     }

+ 10 - 10
app/Services/OrderPackageCommoditiesService.php

@@ -92,10 +92,10 @@ class OrderPackageCommoditiesService
         try {
             if(count($newItems) > 0 ){
                 OrderPackageCommodities::query()->insert($newItems);
-                LogService::log(__METHOD__,__FUNCTION__,'添加包裹商品信息'.json_encode($newItems));
+                app('LogService')->log(__METHOD__,__FUNCTION__,'添加包裹商品信息'.json_encode($newItems));
             }
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'添加包裹商品信息异常'.json_encode($newItems).$e->getMessage(),$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'添加包裹商品信息异常'.json_encode($newItems).$e->getMessage(),$e->getTraceAsString());
         } finally {
             unset($newItems,$orderPackageCommodities);
         }
@@ -138,10 +138,10 @@ class OrderPackageCommoditiesService
             $count  = OrderPackageCommodities::query()->where(['order_package_id' => $orderPackage['id'], 'commodity_id' => $commodity['id'], 'amount' => $detail['qty_each']])->count();
             if($count == 0){
                 $orderPackageCommodities = OrderPackageCommodities::query()->firstOrCreate(['order_package_id' => $orderPackage['id'], 'commodity_id' => $commodity['id'], 'amount' => $detail['qty_each']]);
-                LogService::log(__METHOD__,__FUNCTION__,'创建订单包裹详情'.json_encode($orderPackageCommodities));
+                app('LogService')->log(__METHOD__,__FUNCTION__,'创建订单包裹详情'.json_encode($orderPackageCommodities));
             }
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'创建订单包裹失败'.$e->getMessage().$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'创建订单包裹失败'.$e->getMessage().$e->getTraceAsString());
         } finally {
             return $orderPackageCommodities ?? null;
         }
@@ -185,9 +185,9 @@ class OrderPackageCommoditiesService
         if(!$params){return [];}
         try {
             $this->insert($params);
-            LogService::log(__METHOD__,__FUNCTION__,'批量创建 OrderPackageCommodities'.count($params).json_encode($params));
+            app('LogService')->log(__METHOD__,__FUNCTION__,'批量创建 OrderPackageCommodities'.count($params).json_encode($params));
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'批量创建 OrderPackageCommodities error'.json_encode($params)."||".$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'批量创建 OrderPackageCommodities error'.json_encode($params)."||".$e->getMessage().'||'.$e->getTraceAsString());
         } finally {
             $order_package_ids = array_unique(data_get($params,'*.order_package_id'));
             unset($params);
@@ -230,9 +230,9 @@ class OrderPackageCommoditiesService
         if(count($ids) == 0){return [];}
         try {
             OrderPackageCommodities::query()->whereIn('id', $ids)->delete();
-            LogService::log(__METHOD__,__FUNCTION__,'删除多余OrderPackageCommodities '.$orderPackageCommodities->count().json_encode($orderPackageCommodities),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'删除多余OrderPackageCommodities '.$orderPackageCommodities->count().json_encode($orderPackageCommodities),null);
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'删除多余OrderPackageCommodities error'.$orderPackageCommodities->count().json_encode($orderPackageCommodities).$e->getMessage().$e->getTraceAsString(),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'删除多余OrderPackageCommodities error'.$orderPackageCommodities->count().json_encode($orderPackageCommodities).$e->getMessage().$e->getTraceAsString(),null);
             return [];
         }
         return $ids;
@@ -548,11 +548,11 @@ class OrderPackageCommoditiesService
         if($OPCs->count() == 0){return;}
         try {
             OrderPackageCommodities::query()->whereIn('id', $ids)->delete();
-            LogService::log(__METHOD__, __FUNCTION__, '删除OrderPackageCommodities ' . count($ids) . json_encode($OPCs));
+            app('LogService')->log(__METHOD__, __FUNCTION__, '删除OrderPackageCommodities ' . count($ids) . json_encode($OPCs));
             $orderTracking = OrderTracking::query()->whereIn('order_package_commodity_id',$ids)->get();
             app(OrderTrackingService::class)->deleteOrderTracings($orderTracking);
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '删除OrderPackageCommodities ' . count($ids) . json_encode($OPCs).$e->getMessage().$e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, '删除OrderPackageCommodities ' . count($ids) . json_encode($OPCs).$e->getMessage().$e->getTraceAsString());
         }
     }
 

+ 12 - 12
app/Services/OrderPackageService.php

@@ -44,9 +44,9 @@ class OrderPackageService
             try {
                 $orderPackage = OrderPackage::query()->firstOrCreate(['order_id' => $order['id'], 'logistic_number' => $logistic_number]);
                 $orderPackageCommoditiesService->basedOnOracleDetailsStore($orderHeader['orderno'], $orderPackage);
-                LogService::log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage' . json_encode($orderPackage));
+                app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage' . json_encode($orderPackage));
             } catch (\Exception $e) {
-                LogService::log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage失败' . $e->getMessage() . $e->getTraceAsString());
+                app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage失败' . $e->getMessage() . $e->getTraceAsString());
             }
         } else if ($oracleActAllocationDetails->count() > 0) {
             $count = $oracleActAllocationDetails->where('OrderNo', $order['code'])->whereNull('picktotraceid')->count();
@@ -59,9 +59,9 @@ class OrderPackageService
                 try {
                     $orderPackage = OrderPackage::query()->firstOrCreate(['order_id' => $order['id'], 'logistic_number' => $logistic_number]);
                     $orderPackageCommoditiesService->basedOnOracleDetailsStore($order, $orderPackage);
-                    LogService::log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage' . json_encode($orderPackage));
+                    app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage' . json_encode($orderPackage));
                 } catch (\Exception $e) {
-                    LogService::log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage失败' . $e->getMessage() . $e->getTraceAsString());
+                    app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单包裹orderPackage失败' . $e->getMessage() . $e->getTraceAsString());
                 }
             } else {
                 $ActAllocationDetails = $oracleActAllocationDetails->where('orderno', $order['code']);
@@ -82,9 +82,9 @@ class OrderPackageService
                         try {
                             $orderPackage = OrderPackage::query()->create(['order_id' => $order['id'], 'logistic_number' => $logistic_number]);
                             $orderPackageCommoditiesService->basedOnActAllocationDetailsStoreByOrderNo($order['code'], $orderPackage);
-                            LogService::log(__METHOD__, __FUNCTION__, '创建订单orderPackage' . json_encode($orderPackage));
+                            app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单orderPackage' . json_encode($orderPackage));
                         } catch (\Exception $e) {
-                            LogService::log(__METHOD__, __FUNCTION__, '创建订单orderPackage失败' . json_encode($e->getMessage()) . json_encode($e->getTraceAsString()));
+                            app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单orderPackage失败' . json_encode($e->getMessage()) . json_encode($e->getTraceAsString()));
                         }
                         continue;
                     }
@@ -96,9 +96,9 @@ class OrderPackageService
                     try {
                         $orderPackage = OrderPackage::query()->create(['order_id' => $order['id'], 'logistic_number' => $logistic_number]);
                         $orderPackageCommoditiesService->basedOnActAllocationDetailsStore($orderPackage);
-                        LogService::log(__METHOD__, __FUNCTION__, '创建订单' . json_encode($orderPackage));
+                        app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单' . json_encode($orderPackage));
                     } catch (\Exception $e) {
-                        LogService::log(__METHOD__, __FUNCTION__, '创建订单orderPackage失败' . json_encode($e->getMessage()) . json_encode($e->getTraceAsString()));
+                        app('LogService')->log(__METHOD__, __FUNCTION__, '创建订单orderPackage失败' . json_encode($e->getMessage()) . json_encode($e->getTraceAsString()));
                     }
                 }
             }
@@ -306,9 +306,9 @@ class OrderPackageService
         if(count($params) == 0)return null;
         try {
             $this->insert($params);
-            LogService::log(__METHOD__,__FUNCTION__,'批量生成 orderPackage' . count($params) . json_encode($params));
+            app('LogService')->log(__METHOD__,__FUNCTION__,'批量生成 orderPackage' . count($params) . json_encode($params));
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'批量生成 orderPackage error ' . json_encode($params) . $e->getMessage() . $e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'批量生成 orderPackage error ' . json_encode($params) . $e->getMessage() . $e->getTraceAsString());
         } finally {
             $logistic_numbers = data_get($params,'*.logistic_number');
             unset($params);
@@ -332,11 +332,11 @@ class OrderPackageService
         $delete_ids = app(OrderPackageCommoditiesService::class)->删除包裹商品信息_根据快递单号($delete_logistic_number);
         try {
             OrderPackage::query()->whereIn('logistic_number', $delete_logistic_number)->delete();
-            LogService::log(__METHOD__,__FUNCTION__,'删除多余OrderPackage '.$delete_orderPackages->count().json_encode($delete_orderPackages),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'删除多余OrderPackage '.$delete_orderPackages->count().json_encode($delete_orderPackages),null);
             $orderTracking = OrderTracking::query()->whereIn('order_package_commodity_id', $delete_ids)->get();
             app(OrderTrackingService::class)->deleteOrderTracings($orderTracking);
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'删除多余OrderPackage error'.$delete_orderPackages->count().json_encode($delete_orderPackages).$e->getMessage().$e->getTraceAsString(),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'删除多余OrderPackage error'.$delete_orderPackages->count().json_encode($delete_orderPackages).$e->getMessage().$e->getTraceAsString(),null);
         }
     }
 

+ 33 - 27
app/Services/OrderService.php

@@ -64,7 +64,7 @@ class OrderService
             $sql .= " AND c_contact like '".$c_contact."'";
         }
         if ($c_tel2){
-            $sql .= " AND c_tel2 like '".$c_tel2."'";
+            $sql .= " AND (c_tel2 like '".$c_tel2."' OR c_tel1 like '".$c_tel2."')";
         }
         if ($c_province){
             $sql .= " AND c_province like '".$c_province."'";
@@ -199,8 +199,8 @@ class OrderService
                     'paginate'=>$paginate,'page'=>$page]);
             $params['ordernos'] = $ordernos;
         }
-        $sql="select ACT_ALLOCATION_DETAILS.picktotraceid,ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
-        ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,DOC_ORDER_HEADER.EDIREMARKS2,
+        $sql="select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
+        ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,DOC_ORDER_HEADER.EDIREMARKS2,
        DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
         ,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
        DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
@@ -212,7 +212,7 @@ class OrderService
         ;$sql.=" ) as counted from (";
         if ($paginate && $page)$sql.=" select * from (";
         $sql.=" select ROWNUM as rn,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
-                          ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
+                          ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
                          DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
                           ,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
                          DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
@@ -239,11 +239,11 @@ class OrderService
                       left join BAS_CODES  order_detail_code on order_detail_code.CODE=DOC_ORDER_DETAILS.linestatus and order_detail_code.codeid='SO_STS'
                       left join BAS_Customer on BAS_Customer.customerid=DOC_ORDER_HEADER.customerid
                       left join  BAS_SKU on DOC_Order_Details.CustomerID=BAS_SKU.CustomerID and DOC_Order_Details.SKU=BAS_SKU.SKU
-                      left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno=ACT_ALLOCATION_DETAILS.orderno and
-                      DOC_Order_Details.orderlineno=ACT_ALLOCATION_DETAILS.orderlineno GROUP BY ACT_ALLOCATION_DETAILS.picktotraceid,
-                      ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,
+                      left join  ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno = ACT_ALLOCATION_DETAILS.orderno
+                      and DOC_Order_Details.ORDERLINENO = ACT_ALLOCATION_DETAILS.ORDERLINENO
+                      GROUP BY ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,
                       DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,
-                      DOC_ORDER_HEADER.CustomerID,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
+                      DOC_ORDER_HEADER.CustomerID,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
                       DOC_ORDER_HEADER.EDIREMARKS2,DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1, DOC_ORDER_HEADER.soreference5,
                       DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
                       DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,
@@ -287,19 +287,13 @@ class OrderService
 
     private function orderFormat($orders){
         $commodities=[];
+        $orderNos = "(''";
         $picktotraceids=[];
         /*
          * 第二种扁平化方式(节省空间): 使用快慢指针,因拿到数据正常为顺序数据,自下标1开始与上一条对比orderno唯一标识,不同则更新慢指针下标,
          *  相同则为指定下标map类型数组追加一个键值对属性来记录同类数量,如N条,每次追加属性时先看属性是否存在,存在+1
          * */
         foreach ($orders as $index=>$order){
-            if ($order->picktotraceid){
-                if (array_key_exists($order->orderno,$picktotraceids)){
-                    if (!in_array($order->picktotraceid,$picktotraceids[$order->orderno],true)){
-                        array_push($picktotraceids[$order->orderno],$order->picktotraceid);
-                    };
-                }else $picktotraceids[$order->orderno] = [$order->picktotraceid];
-            }
             if (isset($commodities[$order->orderno])){
                 array_push($commodities[$order->orderno],
                     ["sku"=>$order->sku,"alternate_sku1"=>$order->alternate_sku1,"descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered
@@ -309,6 +303,13 @@ class OrderService
             }
             $commodities[$order->orderno]=[["sku"=>$order->sku,"alternate_sku1"=>$order->alternate_sku1,
                 "descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered,"checktime"=>$order->checktime,"orderdetailcodename"=>$order->orderdetailcodename]];
+            $orderNos .= ",'".$order->orderno."'";
+        }
+        $orderNos .= ")";
+        $allocations = DB::connection("oracle")->select(DB::raw("SELECT DROPID,ORDERNO FROM ACT_ALLOCATION_DETAILS WHERE orderno IN ".$orderNos." GROUP BY (DROPID,ORDERNO)"));
+        foreach ($allocations as $allocation){
+            if (isset($picktotraceids[$allocation->orderno])) $picktotraceids[$allocation->orderno][] = $allocation->dropid;
+            else $picktotraceids[$allocation->orderno] = [$allocation->dropid];
         }
         $picktotraceids=json_encode($picktotraceids);
         $orders=array_values($orders);
@@ -335,9 +336,9 @@ class OrderService
             if (!$owner) {
                 try {
                     $owner = Owner::query()->create(['code' => $orderHeadAttr['customerid'], 'name' => $customer_name]);
-                    LogService::log(__METHOD__, __FUNCTION__, '创建货主' . json_encode($owner));
+                    app('LogService')->log(__METHOD__, __FUNCTION__, '创建货主' . json_encode($owner));
                 } catch (\Exception $e) {
-                    LogService::log(__METHOD__, __FUNCTION__, '创建货主失败' . $e->getMessage() . $e->getTraceAsString());
+                    app('LogService')->log(__METHOD__, __FUNCTION__, '创建货主失败' . $e->getMessage() . $e->getTraceAsString());
                 }
             }
             $owner_id = $owner['id'];
@@ -355,12 +356,14 @@ class OrderService
                 try {
                     $logistics = Logistic::query()->create(['name' => $orderHeadAttr['carriername'], 'code' => $orderHeadAttr['userdefine1']]);
                     $logistics_id = $logistics['id'];
-                    LogService::log(__METHOD__,__FUNCTION__,'创建承运商'.json_encode($logistics));
+                    app('LogService')->log(__METHOD__,__FUNCTION__,'创建承运商'.json_encode($logistics));
                 } catch (\Exception $e) {
-                    LogService::log(__METHOD__,__FUNCTION__,'创建承运商失败'.$e->getMessage().$e->getTraceAsString());
+                    app('LogService')->log(__METHOD__,__FUNCTION__,'创建承运商失败'.$e->getMessage().$e->getTraceAsString());
                 }
             }
+            $warehouse = Warehouse::query()->where('code',$orderHeadAttr['warehouseid'])->first();
             $arr = [
+                'warehouse_id' =>$warehouse->id ??'',
                 'code' => $orderHeadAttr['orderno'],
                 'owner_id' => $owner_id,
                 'wms_status' => $orderHeadAttr['oracleBASCode_codename_c'],
@@ -368,7 +371,7 @@ class OrderService
                 'logistic_id' => $logistics_id,
                 'shop_id' => $shop_Id,
                 'consignee_name' => $orderHeadAttr['c_contact'],
-                'consignee_phone' => $orderHeadAttr['c_tel2'],
+                'consignee_phone' => empty($orderHeadAttr['c_tel2'])?$orderHeadAttr['c_tel1']:$orderHeadAttr['c_tel2'],
                 'province' => $orderHeadAttr['c_province'],
                 'city' => $orderHeadAttr['c_city'],
                 'district' => $orderHeadAttr['c_district'],
@@ -457,7 +460,10 @@ class OrderService
         }
         $logistics = app('LogisticService')->firstOrCreate(['code' => $orderHeader->userdefine1],
             ['code' => $orderHeader->userdefine1, 'name' => $orderHeader->carriername]);
+        $wareHouse = Warehouse::query()->firstOrCreate(['code'=>$orderHeader->warehouseid],
+            ['name'=>$orderHeader->warehouseid,'code'=>$orderHeader->warehouseid]);
         return Order::query()->create([
+            'warehouse_id'=> $wareHouse->id ?? '',
             'code' => $orderHeader->orderno,
             'owner_id' => $owner ? $owner->id : null,
             'wms_status' => $orderHeader->oracleBASCode ? $orderHeader->oracleBASCode->codename_c : null,
@@ -465,7 +471,7 @@ class OrderService
             'logistic_id' => $logistics ? $logistics->id : null,
             'shop_id' => $shop ? $shop->id : null,
             'consignee_name' => $orderHeader->c_contact,
-            'consignee_phone' => $orderHeader->c_tel2,
+            'consignee_phone' => empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2,
             'province' => $orderHeader->c_province,
             'city' => $orderHeader->c_city,
             'district' => $orderHeader->c_district,
@@ -555,7 +561,7 @@ class OrderService
                 'logistic_id' => $logistic->id ?? null,
                 'shop_id' => $shop->id ?? null,
                 'consignee_name' => $orderHeader->c_contact,
-                'consignee_phone' => $orderHeader->c_tel2,
+                'consignee_phone' => empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2,
                 'province' => $orderHeader->c_province,
                 'city' => $orderHeader->c_city,
                 'district' => $orderHeader->c_district,
@@ -572,9 +578,9 @@ class OrderService
         if(count($params) == 0) return [];
         try {
             $this->insert($params);
-            LogService::log(__METHOD__,__FUNCTION__,'批量创建 order '.count($params).json_encode($params));
+            app('LogService')->log(__METHOD__,__FUNCTION__,'批量创建 order '.count($params).json_encode($params));
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'批量创建 order '.json_encode($params).'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'批量创建 order '.json_encode($params).'||'.$e->getMessage().'||'.$e->getTraceAsString());
         } finally{
             return Order::query()->whereIn('code',data_get($params,'*.code'))->get();
         }
@@ -621,7 +627,7 @@ class OrderService
                 $order->shop_id != $shop_id ||
                 $order->owner_id != $owner_id ||
                 $order->consignee_name != $orderHeader->c_contact ||
-                $order->consignee_phone != $orderHeader->c_tel2 ||
+                $order->consignee_phone != empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2 ||
                 $order->province != $orderHeader->c_province ||
                 $order->city != $orderHeader->c_city ||
                 $order->district != $orderHeader->c_district ||
@@ -636,7 +642,7 @@ class OrderService
                     'logistic_id' => $logistic_id,
                     'shop_id' => $shop_id,
                     'consignee_name' => $orderHeader->c_contact,
-                    'consignee_phone' => $orderHeader->c_tel2,
+                    'consignee_phone' => empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2,
                     'province' => $orderHeader->c_province,
                     'city' => $orderHeader->c_city,
                     'district' => $orderHeader->c_district,
@@ -687,7 +693,7 @@ class OrderService
             'shop_id' =>$shop->id,
             'logistic_id' => $logistic->id ??'',
             'consignee_name' =>  $orderHeader->c_contact,
-            'consignee_phone' =>  $orderHeader->c_tel2,
+            'consignee_phone' =>  empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2,
             'province' =>$orderHeader->c_province,
             'city' => $orderHeader->c_city,
             'district' =>$orderHeader->c_district,

+ 30 - 12
app/Services/OrderTrackingService.php

@@ -33,7 +33,7 @@ class OrderTrackingService
             $ownerids = explode(",", $params['owner_id']);
             $owner_ids = array_intersect($owner_ids, $ownerids);
         }
-        $query = OrderTracking::query()->with(['owner', 'commodities' => function ($query) {
+        $query = OrderTracking::query()->with(['owner','uploadFile', 'commodities' => function ($query) {
             $query->with(['commodity'=>function($query){
                 $query->with('barcodes');
             }, 'package.order.logistic']);
@@ -44,10 +44,15 @@ class OrderTrackingService
         $queryParam = [
             'start_at' => ['alias' => 'pick_up_at', 'startDate' => ' 00:00:00'],
             'end_at' => ['alias' => 'pick_up_at', 'endDate' => ' 23:59:59'],
+            'start_planning_sent_at' => ['alias' => 'planning_sent_at', 'startDate' => ' 00:00:00'],
+            'end_planning_sent_at' => ['alias' => 'planning_sent_at', 'endDate' => ' 23:59:59'],
         ];
+
         $param = [
             'start_at' => $params['start_at'] ?? '',
             'end_at' => $params['end_at'] ?? '',
+            'start_planning_sent_at' => $params['start_planning_sent_at'] ?? '',
+            'end_planning_sent_at' => $params['end_planning_sent_at'] ?? '',
         ];
 
         $query = app(QueryService::class)->query($param, $query, $queryParam);
@@ -103,7 +108,7 @@ class OrderTrackingService
     public function paginate($params)
     {
         return $this->getConditionQuery($params)
-            ->orderByDesc('order_trackings.created_at')
+            ->orderByDesc('order_trackings.pick_up_at')
             ->orderBy('order_trackings.order_client_code')
             ->paginate($params['paginate'] ?? 50);
     }
@@ -115,7 +120,8 @@ class OrderTrackingService
         }
         $order_tracking_colnums = "case order_trackings.order_client_code when  order_trackings.web_order_number then '' when order_trackings.order_client_code then  order_trackings.order_client_code end order_client_code,";
         $order_tracking_colnums .= 'order_trackings.web_order_number,order_trackings.pick_up_at,order_trackings.sale,order_trackings.client,order_trackings.order_remark,order_trackings.gross_weight,order_trackings.bulk,';
-        $order_tracking_colnums .= 'order_trackings.pallet_total,order_trackings.planning_sent_at,order_trackings.is_on_duty_shift,order_trackings.is_arrival,order_trackings.signed_at,order_trackings.receive_bill_status,order_trackings.remark';
+        $order_tracking_colnums .= "case order_trackings.planning_sent_at when '0000-00-00 00:00:00' then null else order_trackings.planning_sent_at end planning_sent_at,";
+        $order_tracking_colnums .= 'order_trackings.pallet_total,order_trackings.is_on_duty_shift,order_trackings.is_arrival,order_trackings.signed_at,order_trackings.receive_bill_status,order_trackings.remark';
         return  $this->getConditionQuery($params)
             ->orderBy('order_trackings.order_client_code')
             ->orderByDesc('order_trackings.pick_up_at')
@@ -134,6 +140,16 @@ class OrderTrackingService
                ->selectRaw('owners.name owners_name')
             ->sql();
     }
+
+    public function getOrderTrackings($params)
+    {
+        if($params['data'] ?? false){
+            $params['ids'] = $params['data'];
+        }
+        return  $this->getConditionQuery($params)
+            ->orderByDesc('order_trackings.pick_up_at')->orderBy('order_trackings.order_client_code')->get();
+    }
+
     /**
      * @param $startData
      */
@@ -187,14 +203,14 @@ class OrderTrackingService
         try {
             $update = [$param => $value];
             if($param == 'planning_sent_at'){
-                $update= [$param => $value, 'signed_at' => $value,'is_arrival'=>'是','is_on_duty_shift'=>'是'];
+                $update= [$param => $value, 'signed_at' => $value];
             }
             $bool = OrderTracking::query()->whereHas('commodities.package.order', function ($query) use ($orderId) {
                 $query->where('id', $orderId);
             })->update($update);
             return['success'=> $bool > 0];
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'修改追踪件'.json_encode($orderId,$param,$value).$e->getMessage().$e->getTraceAsString());
+            app('LogService')->log(__METHOD__,__FUNCTION__,'修改追踪件'.json_encode($orderId,$param,$value).$e->getMessage().$e->getTraceAsString());
             return['success'=> false,'fail_info'=>$e->getMessage()];
         }
     }
@@ -269,6 +285,7 @@ class OrderTrackingService
                 'web_order_number' => $web_order_number,
                 'gross_weight'=> $gross_weight,
                 'bulk'=> $bulk,
+                'is_on_duty_shift'=> $param['is_on_duty_shift'],
                 'planning_sent_at' => $param['planning_sent_at'] ?? ''
             ];
         }
@@ -276,10 +293,10 @@ class OrderTrackingService
         try {
             if (count($params) > 0) {
                 $this->insert($params);
-                LogService::log(__METHOD__, __FUNCTION__, '批量添加 orderTracking' . json_encode($params),null);
+                app('LogService')->log(__METHOD__, __FUNCTION__, '批量添加 orderTracking' . json_encode($params),null);
             }
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '批量添加 orderTracking error' . json_encode($params).$e->getMessage().$e->getTraceAsString(),null);
+            app('LogService')->log(__METHOD__, __FUNCTION__, '批量添加 orderTracking error' . json_encode($params).$e->getMessage().$e->getTraceAsString(),null);
         }
     }
 
@@ -377,9 +394,9 @@ class OrderTrackingService
         if(count($insert_params) > 0){
             try {
                 $this->insert($insert_params);
-                LogService::log(__METHOD__,__FUNCTION__,'批量添加 OrderTracking '.count($insert_params).json_encode($insert_params));
+                app('LogService')->log(__METHOD__,__FUNCTION__,'批量添加 OrderTracking '.count($insert_params).json_encode($insert_params));
             } catch (\Exception $e) {
-                LogService::log(__METHOD__,__FUNCTION__,'批量添加 OrderTracking error'.json_encode($insert_params) .'||'.$e->getMessage(),'||'.$e->getTraceAsString());
+                app('LogService')->log(__METHOD__,__FUNCTION__,'批量添加 OrderTracking error'.json_encode($insert_params) .'||'.$e->getMessage(),'||'.$e->getTraceAsString());
             }
         }
         $this->删除订单追踪_订单取消($orderHeaders);
@@ -413,7 +430,7 @@ class OrderTrackingService
         if(isset($pick_up_at)){
              $logisticTiming = app(LogisticTimingService::class)->findByParams($orderHeader['c_city']??'',$orderHeader['c_province']??'',$order->logistic_id);
              if($logisticTiming){
-                 $planning_sent_at = Carbon::parse((string)$planning_sent_at)->addDays($logisticTiming->days_at_working);
+                 $planning_sent_at = Carbon::parse((string)$pick_up_at)->addDays($logisticTiming->days_at_working);
              }
         }
         return [
@@ -423,6 +440,7 @@ class OrderTrackingService
             'order_remark' => $order_remark,
             'pick_up_at' => $orderHeader->lastshipmenttime, // 提货时间
             'web_order_number' =>$web_order_number,
+            'is_on_duty_shift'=>$planning_sent_at?'是':null,
             'planning_sent_at' => (string)$planning_sent_at
         ];
     }
@@ -459,9 +477,9 @@ class OrderTrackingService
         if($orderTracking->count() == 0){return;}
         try {
             OrderTracking::query()->whereIn('id', data_get($orderTracking,'*.id'))->delete();
-            LogService::log(__METHOD__,__FUNCTION__,'删除订单取消的OrderTracking '.$orderTracking->count().json_encode($orderTracking),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'删除订单取消的OrderTracking '.$orderTracking->count().json_encode($orderTracking),null);
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'删除订单取消的OrderTracking error'.$orderTracking->count().json_encode($orderTracking).$e->getMessage().$e->getTraceAsString(),null);
+            app('LogService')->log(__METHOD__,__FUNCTION__,'删除订单取消的OrderTracking error'.$orderTracking->count().json_encode($orderTracking).$e->getMessage().$e->getTraceAsString(),null);
         }
     }
 

+ 67 - 0
app/Services/OwnerReportService.php

@@ -0,0 +1,67 @@
+<?php 
+
+namespace App\Services; 
+
+use App\OwnerReport;
+use App\Services\common\QueryService;
+use Illuminate\Database\Eloquent\Builder;
+
+Class OwnerReportService
+{
+    /**
+     * @param Builder $builder
+     * @param array $params
+     * @return Builder
+     */
+    private function query(Builder $builder, array $params)
+    {
+        $columnQueryRules = [
+            'counting_month_start' => ['alias' => 'counting_month', 'startDate' => '-01'],
+            'counting_month_end' => ['alias' => 'counting_month', 'endDate' => '-31'],
+            'owner_id' => ['multi' => ','],
+        ];
+        if ($params["owner_group_id"] ?? false){
+            $builder->whereHas('owner',function ($query)use(&$params){
+                /** @var Builder $query */
+                $query->where("user_owner_group_id",$params["owner_group_id"]);
+            });
+            unset($params["owner_group_id"]);
+        }
+        if ($params["customer_id"] ?? false){
+            $builder->whereHas('owner',function ($query)use(&$params){
+                /** @var Builder $query */
+                $query->where("customer_id",$params["customer_id"]);
+            });
+            unset($params["customer_id"]);
+        }
+        if ($params["status"] ?? false){
+            $builder->whereHas('owner',function ($query)use(&$params){
+                /** @var Builder $query */
+                if ($params["status"] == "激活") $query->whereNull("deleted_at");
+                else $query->whereNotNull("deleted_at");
+            });
+            unset($params["status"]);
+        }
+        return app(QueryService::class)->query($params, $builder, $columnQueryRules,"owner_reports");
+    }
+
+    public function get(array $params, array $withs = null)
+    {
+        $query = OwnerReport::query();
+        if ($withs)$query->with($withs);
+        return $this->query($query,$params)->get();
+    }
+
+    public function paginate(array $params, array $withs = null)
+    {
+        $query = OwnerReport::query()->orderByDesc('id');
+        if ($withs)$query->with($withs);
+        return $this->query($query,$params)->paginate($params["paginate"] ?? 50);
+    }
+
+    public function getSql(array $params)
+    {
+
+    }
+
+}

+ 37 - 4
app/Services/OwnerService.php

@@ -4,7 +4,9 @@ namespace App\Services;
 
 use App\OracleBasCustomer;
 use App\Owner;
+use App\User;
 use Carbon\Carbon;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Support\Facades\Auth;
 
 Class OwnerService
@@ -18,7 +20,7 @@ Class OwnerService
      * array | string $column
      * 默认一些select字段,可传递string 或 array来指定select字段
      */
-    public function getSelection($column = ['id', 'name'])
+    public function getSelection(array $column = ['id', 'name'])
     {
         return $this->cacheService->getOrExecute('OwnersAll_IdName',function()use($column){
             return Owner::filterAuthorities()->select($column)->get();
@@ -65,7 +67,7 @@ Class OwnerService
     }
 
     public function first(array $params, array $rules =[]){
-        return $this->cacheService->getOrExecute('OwnersFirst'.md5(json_encode($params)),function()use($params,$rules){
+        return $this->cacheService->getOrExecute('OwnersFirst'.md5(json_encode($params),json_encode($rules)),function()use($params,$rules){
             $owner = Owner::query();
             foreach ($params as $column => $value){
                 if (!isset($rules[$column]))$owner->where($column, $value);
@@ -131,10 +133,10 @@ Class OwnerService
         try {
             if (count($insert_params) > 0) {
                 $this->insert($insert_params);
-                LogService::log(__METHOD__, __FUNCTION__, '批量创建 owner error' . count($insert_params) . json_encode($insert_params) );
+                app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 owner error' . count($insert_params) . json_encode($insert_params) );
             }
         } catch (\Exception $e) {
-            LogService::log(__METHOD__, __FUNCTION__, '批量创建 owner error' . json_encode($insert_params) . '||' . $e->getMessage() . '||' . $e->getTraceAsString());
+            app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 owner error' . json_encode($insert_params) . '||' . $e->getMessage() . '||' . $e->getTraceAsString());
         } finally {
             return Owner::query()->whereIn('code', $codes)->get();
         }
@@ -149,4 +151,35 @@ Class OwnerService
         return Owner::query()->whereIn('id',app('UserService')->getPermittingOwnerIds($user)??[])->get();
     }
 
+    public function get(array $params, array $withs = null, bool $authority = true, bool $notShowSoftDelete = false)
+    {
+        /** @var User $user */
+        $user = Auth::user();
+        $query = Owner::query();
+        if ($authority){
+            $ids = $user->getPermittingOwnerIdsAttribute();
+            if ($ids) $query->whereIn("id",$ids);
+            else return null;
+        }
+        if ($notShowSoftDelete) $query->whereNull('deleted_at');
+        $query = $this->query($query,$params);
+        return $query->get();
+    }
+
+    private function query(Builder $builder, array $params)
+    {
+        foreach ($params as $column => $param){
+            if ($param === true){
+                $builder->whereNotNull($column);
+                continue;
+            }
+            if ($param === false){
+                $builder->whereNull($column);
+                continue;
+            }
+            $builder->where($column,$params);
+        }
+        return $builder;
+    }
+
 }

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott