Browse Source

Merge branch 'zengjun' into work_order_version6

ajun 4 years ago
parent
commit
8d65cb6a71

+ 1 - 1
app/Components/ApiResponse.php

@@ -9,7 +9,7 @@ trait ApiResponse
     public function response($data, int $code = 200,string $message = null)
     {
         $response = ["status_code"=>$code,"data"=>$data,"message"=>$message];
-        header("Content-Type","application/json;charset=utf-8");
+        header("Content-Type","application/json; charset=UTF-8");
         echo json_encode($response,JSON_UNESCAPED_UNICODE);
         exit();
     }

+ 11 - 2
app/Http/ApiControllers/WaybillController.php

@@ -9,6 +9,7 @@ use App\Http\Requests\AndroidGateRequest;
 use App\Http\Requests\Api\WaybillDispatch;
 use App\Services\WaybillService;
 use App\Waybill;
+use Illuminate\Database\Eloquent\Collection;
 
 class WaybillController
 {
@@ -63,13 +64,21 @@ class WaybillController
 
         /** @var WaybillService $service */
         $service = app("WaybillService");
-        $query = $service->getDispatchQuery();
+        $query = $service->getDispatchQuery()->orderByDesc("deliver_at");
         if ($search)$query->where(function ($query)use($search){
             $query->where("waybill_number","like","%{$search}%")
                 ->orWhere("carrier_bill","like","%{$search}%");
         });
         if ($deliverAt)$query->where("deliver_at","like",$deliverAt."%");
-        $this->response($query->paginate($paginate,'*', 'page',$page)->append(["carrier_name","amount_unit_name","remove_relation"]));
+        /** @var Collection $waybills */
+        $waybills = $query->paginate($paginate,'*', 'page',$page)->append(["carrier_name","amount_unit_name","remove_relation"]);
+        $result = null;
+        if ($waybills->count()>0){
+            $startDate = substr($waybills->first()->deliver_at,0,10);
+            $endDate = substr($waybills->last()->deliver_at,0,10);
+            $result = ["2021-10-08"=>2];
+        }
+        $this->response(["waybills"=>$waybills,"mapping"=>$result]);
     }
 
     /**

+ 32 - 24
app/Http/Controllers/CustomerController.php

@@ -11,6 +11,7 @@ use App\Owner;
 use App\OwnerAreaReport;
 use App\OwnerBillReport;
 use App\OwnerFeeDetail;
+use App\OwnerFeeExpress;
 use App\OwnerFeeLogistic;
 use App\OwnerFeeOperation;
 use App\OwnerFeeOperationDetail;
@@ -521,32 +522,39 @@ class CustomerController extends Controller
         $endDate = request("endDate");
         $owner = request("owner");
         if (!$startData)$this->error("非法参数");
-        $details = OwnerFeeDetail::query()->where("worked_at",">=",$startData." 00:00:00");
-        if ($endDate)$details->where("worked_at","<=",$endDate." 23:59:59");
-        if (count($owner)>0)$details->whereIn("owner_id",$owner);
-
-        $fee = OwnerFeeDetail::query()->where("created_at",">=",$startData." 00:00:00");
-        if ($endDate)$fee->where("created_at","<=",$endDate." 23:59:59");
-        if (count($owner)>0)$fee->whereIn("owner_id",$owner);
-        $fee->delete();
-
-        $feeQuery = OwnerFeeOperation::query()->where("worked_at",">=",$startData);
-        if ($endDate)$feeQuery->where("worked_at","<=",$endDate);
-        if (count($owner)>0)$feeQuery->whereIn("owner_id",$owner);
-        OwnerFeeOperationDetail::query()->whereIn("owner_fee_operation_id",$feeQuery)->delete();
-        $feeQuery->delete();
-
-        $fee = OwnerFeeLogistic::query()->where("created_at",">=",$startData." 00:00:00");
-        if ($endDate)$fee->where("created_at","<=",$endDate." 23:59:59");
-        if (count($owner)>0)$fee->whereIn("owner_id",$owner);
-        $fee->delete();
-
-        $details->get()->each(function ($detail){
-            dispatch(new ResetInstantBill($detail));
-        });
+        DB::beginTransaction();
+        try {
+            $details = OwnerFeeDetail::query()->where("worked_at",">=",$startData." 00:00:00");
+            if ($endDate)$details->where("worked_at","<=",$endDate." 23:59:59");
+            if (count($owner)>0)$details->whereIn("owner_id",$owner);
+
+            $fee = OwnerFeeExpress::query()->where("created_at",">=",$startData." 00:00:00");
+            if ($endDate)$fee->where("created_at","<=",$endDate." 23:59:59");
+            if (count($owner)>0)$fee->whereIn("owner_id",$owner);
+            $fee->delete();
+
+            $feeQuery = OwnerFeeOperation::query()->select("id")->where("worked_at",">=",$startData);
+            if ($endDate)$feeQuery->where("worked_at","<=",$endDate);
+            if (count($owner)>0)$feeQuery->whereIn("owner_id",$owner);
+            OwnerFeeOperationDetail::query()->whereIn("owner_fee_operation_id",$feeQuery)->delete();
+            $feeQuery->delete();
+
+            $fee = OwnerFeeLogistic::query()->where("created_at",">=",$startData." 00:00:00");
+            if ($endDate)$fee->where("created_at","<=",$endDate." 23:59:59");
+            if (count($owner)>0)$fee->whereIn("owner_id",$owner);
+            $fee->delete();
+
+            $details->get()->each(function ($detail){
+                dispatch(new ResetInstantBill($detail));
+            });
+            DB::commit();
+            $this->success();
+        }catch (\Exception $e){
+            DB::rollBack();
+            $this->error("失败");
+        }
         //$this->restoreResetInstantBillOrder($startData,$endDate);
         //$this->restoreResetInstantBillStore($startData,$endDate);
-        $this->success();
     }
     private function restoreResetInstantBillOrder($startData,$endDate)
     {

+ 0 - 1
app/Http/Controllers/InventoryAccountController.php

@@ -158,7 +158,6 @@ class InventoryAccountController extends Controller
         $goodses = $request->input('goodses');
         if (!$location) return ['success' => false, 'fail_info' => '盘点库位不存在!'];
         if (count($goodses) < 1) return ['success' => false, 'fail_info' => '盘点商品不存在!'];
-        //dd($location,$owner_code,$goodses,$inventoryId,$owner_id);
         /** @var InventoryAccountService $inventoryAccountMission */
         $inventoryAccountService = app('inventoryAccountService');
         $inventoryAccountMissions = $inventoryAccountService->baseOnBlindReceive($location, $owner_code, $goodses, $inventoryId);

+ 0 - 6
app/Http/Controllers/LaborApplyController.php

@@ -78,12 +78,6 @@ class LaborApplyController extends Controller
         return redirect(route('laborApply.index'))->with('success', '填写实到人数成功!');
     }
 
-    /**
-     * Remove the specified resource from storage.
-     *
-     * @param \App\LaborApply $laborApply
-     * @return \Illuminate\Http\Response
-     */
     public function destroy(LaborApply $laborApply)
     {
         $laborApply->delete();

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

@@ -55,7 +55,7 @@ class LaborCompanyDispatchController extends Controller
         );
         /** @var Carbon $dispatch_date */
         $dispatch_date = $laborCompanyDispatch->dispatch_date;
-
+        //更新创建日期为 分配日期前一天的全部申请状态为 劳务接单
         LaborApply::query()
             ->whereDate('created_at', $dispatch_date->subDay()->toDateString())
             ->where('warehouse_id', $laborCompanyDispatch->laborCompany->warehouse_id)

+ 12 - 99
app/Http/Controllers/ProcessController.php

@@ -66,75 +66,9 @@ class ProcessController extends Controller
                 $processDailies=ProcessDaily::with(['processDailyParticipants','process'])
                     ->orderBy('date','DESC')->where('process_id',$id)->get();
             }
-            //$processDailies=$this->countManHour($processDailies);
         }
         return $processDailies;
     }
-
-    /*//根据参与人查找打卡记录计算工时信息
-    public function countManHour($processDailies){
-        foreach ($processDailies as $processDaily){
-            $date=$processDaily->date;
-            foreach ($processDaily->processDailyParticipants as $processDailyParticipant){
-                $processDailyParticipant->started_at=Carbon::parse($processDailyParticipant->started_at)->format('H:i');
-                $processDailyParticipant->ended_at=Carbon::parse($processDailyParticipant->ended_at)->format('H:i');
-                $processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$date);
-            }
-        }
-        return $processDailies;
-    }*/
-
-    /*//计算单参与人工时信息
-    public function countParticipantManHour($processDailyParticipant,$date){
-        $user_id=$processDailyParticipant->user_id;
-        $userDutyCheckStart=UserDutyCheck::select('id','checked_at')->where('user_id',$user_id)
-            ->where('checked_at','like',$date.'%')->where('type','登入')->orderBy('id')->first();
-        $userDutyCheckEnd=UserDutyCheck::select('id','checked_at')->where('user_id',$user_id)
-            ->where('checked_at','like',$date.'%')->where('type','登出')->orderBy('id','desc')->first();
-        //跨日情况寻找下一天
-        if (!$userDutyCheckEnd){
-            $date=date("Y-m-d",strtotime("+1 day",strtotime($date)));
-            $userDutyCheckEnd=UserDutyCheck::select('id','checked_at')->where('user_id',$user_id)
-                ->where('checked_at','like',$date.'%')->where('type','登出')->orderBy('id','desc')->first();
-        }
-        if (!$userDutyCheckStart || !$userDutyCheckEnd){
-            return $processDailyParticipant;
-        }
-        $dateStart=Carbon::parse($userDutyCheckStart->checked_at);
-        $dateEnd=Carbon::parse($userDutyCheckEnd->checked_at);
-        $hour=($dateEnd->diffInSeconds($dateStart))/3600; //打卡工时
-        if ($processDailyParticipant->dinner_duration)$hour=$hour-(($processDailyParticipant->dinner_duration)/60); //减晚饭时间
-        $hour=$this->isHour($userDutyCheckStart,$hour); //去除休息时间
-        $processDailyParticipant->hour=round($hour,2);
-        if ($hour&&$processDailyParticipant->hour_count){
-            $diff=abs(round($processDailyParticipant->hour_count-$hour,2));
-            $processDailyParticipant->diff=$diff;
-        }
-
-        //计件工 保留
-        // if ($processDailyParticipant->unit_count){
-        //   return $processDailyParticipant;
-        //}
-        if ($hour&&$hour>8){
-            $processDailyParticipant->billingHour=8;
-            return $processDailyParticipant;
-        }
-        if ($hour&&$hour<=8){
-            $processDailyParticipant->billingHour=round($hour,2);
-        }
-        return $processDailyParticipant;
-    }*/
-
-/*    //打卡工时减休息时间
-    private function isHour($userDutyCheckStart,$hour){
-
-        $date=$userDutyCheckStart->checked_at;
-        $date=Carbon::parse($date)->format('H');
-        if ((int)$date<=11){
-            $hour=$hour-1;
-        }
-        return $hour;
-    }*/
     //生成二次加工单缺失时间记录及本日记录
     private function createDeficiencyData($processDailies,$today){
         $processDailiesArr=[];
@@ -202,15 +136,15 @@ class ProcessController extends Controller
         if(!Gate::allows('二次加工管理-交接完成')){ return ['success'=>false,'data'=>'您无权进行该操作!'];  }
         $process=Process::with('processDailies')->find($request->id);
         if (!$process || $process->status == '交接完成')return ['success'=>false];
-        $result=$this->statistic($process);
+        $this->statistic($process);
         $process->update(['status'=>'交接完成']);
         $process->createOperatorLog('交接完成');
-        $processStatistic=$result['data'];
-        app('LogService')->log(__METHOD__,"完成二次加工单_".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
         app('ProcessService')->createInstantBill($process);
         return ['success'=>true,'data'=>'交接完成'];
     }
     private function statistic($process, $sign_end = false){
+        $processStatistic=ProcessStatistic::query()->find($process->id);
+        if (!$processStatistic)return ['success'=>true];
         if (count($process->processDailies)>0){
             $completed_amount=0;
             foreach ($process->processDailies as $processDaily){
@@ -235,7 +169,6 @@ class ProcessController extends Controller
                 $total_cost += ($processDailyParticipant->hour_count)*($processDailyParticipant->hour_price);
             }
         };
-        $processStatistic=ProcessStatistic::query()->find($process->id);
         $processStatistic->revenue=$revenue;
         $processStatistic->duration_days=$duration_days;
         $processStatistic->duration_man_hours=$duration_man_hours;
@@ -369,7 +302,7 @@ class ProcessController extends Controller
         }]);
 
         // 重置统计开始时间
-        event(new ResetProcessStatisticStartDateEvent($processDailyParticipant->processDaily->process));
+        //event(new ResetProcessStatisticStartDateEvent($processDailyParticipant->processDaily->process));
 
 
         if ($processDailyParticipant->processDaily && $processDailyParticipant->processDaily->process &&
@@ -378,8 +311,6 @@ class ProcessController extends Controller
         }
         $result=[];
         $processDaily=ProcessDaily::with('process')->select('process_id','date')->find($daily_id);
-        //$date=$processDaily->date;
-        //$processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$date);
         if ($processDaily->process && $processDaily->process->status=="待加工"){
             $process=Process::find($processDaily->process_id);
             $process->status="加工中";
@@ -389,7 +320,6 @@ class ProcessController extends Controller
             if (!$processStatistic){
                 Log::warning("二次加工统单不存在2",["user"=>Auth::id(),"param"=>$processDaily->process_id]);
             }else {
-                //$processStatistic->started_at=date('Y-m-d H:i:s');
                 $processStatistic->started_at=$processDaily->date.' '.$started_at;
                 $processStatistic->update();
                 app('LogService')->log(__METHOD__,"二次加工单加工中".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
@@ -452,7 +382,7 @@ class ProcessController extends Controller
         if (!$processDailyParticipant || !$processDailyParticipant->processDaily
             || !$processDailyParticipant->processDaily->process || !$processDailyParticipant->userLabor) return ['success'=>false,'data'=>"修改失败,该信息不存在"];
         if ($processDailyParticipant->userLabor->isOccupiedAt($processDailyParticipant->processDaily->date,$request->started_at)){
-            ['success'=>false,'data'=>"该临时工此时间段已存在工作记录"];
+            return ['success'=>false,'data'=>"该临时工此时间段已存在工作记录"];
         }
         $processDailyParticipant->user_id=$request->input('user_id');
         $processDailyParticipant->started_at=$request->input('started_at');
@@ -468,19 +398,8 @@ class ProcessController extends Controller
         if ($processDailyParticipant->processDaily->process->status=='交接完成'){
             $this->statistic($processDailyParticipant->processDaily->process);
         }
-        //$processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$processDailyParticipant->processDaily->date);
         return ['success'=>true,'data'=>$processDailyParticipant];
     }
-    /*//参与人审核
-    public function processDailyParticipantAudit($id){
-        if(!Gate::allows('人事管理-任务审核')){ return redirect(url('/'));  }
-        $processDailyParticipant=ProcessDailyParticipant::select('id','status')->find($id);
-        if (!$processDailyParticipant) return ['success'=>false];
-        $processDailyParticipant->status='已审核';
-        $processDailyParticipant->update();
-        app('LogService')->log(__METHOD__,"登记工时参与人审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
-        return ['success'=>true,'processDailyParticipant'=>$processDailyParticipant];
-    }*/
     //获取全部教程
     public function getTutorials($id){
         $process=Process::with('tutorials')->find($id);
@@ -519,7 +438,7 @@ class ProcessController extends Controller
     /**
      * Show the form for creating a new resource.
      *
-     * @return \Illuminate\Http\Response
+     * @return Application|Factory|\Illuminate\Http\Response|View
      */
     public function create()
     {
@@ -565,6 +484,9 @@ class ProcessController extends Controller
             'status'=>'待审核',
         ]);
         $process->save();
+        ProcessStatistic::query()->create([
+            'process_id'=>$process->id,
+        ]);
         $process->createOperatorLog('创建');
         $processContents=[];
         foreach ($request->input('processContents') as $processContent){
@@ -614,12 +536,6 @@ class ProcessController extends Controller
         }
         $process->code='P'.date ("Ymd").str_pad($process->id,3,"0",STR_PAD_LEFT);
         $process->update();
-        $processStatistic=new ProcessStatistic([
-            'process_id'=>$process->id,
-        ]);
-        $processStatistic->save();
-        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];
     }
     //修改价格
@@ -701,7 +617,7 @@ class ProcessController extends Controller
      * Show the form for editing the specified resource.
      *
      * @param  int  $id
-     * @return \Illuminate\Http\Response
+     * @return Application|Factory|\Illuminate\Http\Response|View
      */
     public function edit($id)
     {
@@ -884,8 +800,7 @@ class ProcessController extends Controller
             $query->where('type','成品单');
         }]);
         if (count($process->processesContents) == 0)return ['success'=>false,'data'=>'没有成本单不得验收!'];
-        $result=$this->statistic($process, true);
-        //if (!$result['success'])return $result;
+        $this->statistic($process, true);
         $process->update([
             'status'=>'待交接'
         ]);
@@ -1001,9 +916,7 @@ class ProcessController extends Controller
             $query->with("process");
         }])->find($id);
         if ($pro->delete()) {
-
-            event(new ResetProcessStatisticStartDateEvent($pro->processDaily->process));
-
+            //event(new ResetProcessStatisticStartDateEvent($pro->processDaily->process));
             return ['success'=>true];
         }
         return ['success'=>false , 'data'=>'记录不存在!'];

+ 0 - 1
app/Http/Controllers/SettlementBillExpressFeeDetailController.php

@@ -42,7 +42,6 @@ class SettlementBillExpressFeeDetailController extends Controller implements Set
             'counting_month' => $counting_month,
             'paginateParams' => $paginateParams,
         ]);
-//        dd($details);
         $owners = Owner::query()->selectRaw("id,name")->whereIn('id', $permittingOwnerIds)->get();
         $owner = Owner::query()->selectRaw("name,id")->find($owner_id);
         $this->archiveService = app('OwnerBillReportArchiveService');

+ 13 - 190
app/Http/Controllers/TestController.php

@@ -25,6 +25,7 @@ use App\Jobs\WeightUpdateInstantBill;
 use App\LaborCompanyDispatch;
 use App\LaborReport;
 use App\LaborReportStatus;
+use App\Logistic;
 use App\MaterialBox;
 use App\MaterialBoxModel;
 use App\Notifications\RoutineNotification;
@@ -45,6 +46,7 @@ use App\OwnerFeeLogistic;
 use App\OwnerFeeOperation;
 use App\OwnerFeeOperationDetail;
 use App\OwnerFeeStorage;
+use App\OwnerPriceExpress;
 use App\OwnerPriceOperation;
 use App\OrderPackageCountingRecord;
 use App\ProcurementCheckSheet;
@@ -85,6 +87,7 @@ use Carbon\CarbonPeriod;
 use Decimal\Decimal;
 use Doctrine\DBAL\Exception;
 use Firebase\JWT\JWT;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Database\Eloquent\HigherOrderBuilderProxy;
 use Illuminate\Foundation\Http\FormRequest;
@@ -118,7 +121,7 @@ class TestController extends Controller
         $this->data["active_test"] = "active";
     }
 
-    public function method(AndroidGateRequest $request, $method)
+    public function method(Request $request, $method)
     {
         try {
             return call_user_func([$this, $method], $request);
@@ -197,195 +200,15 @@ class TestController extends Controller
         }
         app("BatchService")->assignTasks($batches);
     }
-    public function test(AndroidGateRequest $request)
+    public function test()
     {
-        dd(Waybill::query()->with(["order:id,address","logistic:id,name","amountUnit:id,name"])
-            ->select("id","order_id","logistic_id","amount_unit_id",
-                "waybill_number","destination","recipient","recipient_mobile",
-                "carrier_bill","warehouse_weight","carrier_weight","inquire_tel",
-                "warehouse_weight_other","carrier_weight_other","amount","origination")
-            ->paginate(15)->append(["carrier_name","amount_unit_name","remove_relation"])->toJson());
-        $url = config('api_logistic.collectUpload.ZTO.prod.url');
-        $xAppKey =  config('api_logistic.collectUpload.ZTO.prod.x-appKey');
-        $appSecret = config('api_logistic.collectUpload.ZTO.prod.appSecret');
-        $appId = config('api_logistic.collectUpload.ZTO.prod.appId');
-        dd(env('APP_ENV'));
-        //中通接口请求body
-        $collectUploadDTOS = [[
-            'billCode' => "75811463670235",
-            'weight' => 0,
-            'appId' => $appId,
-            'importDate' => now()->toDateTimeString(),
-        ]];
-        $body = json_encode([
-            'collectUploadDTOS' => $collectUploadDTOS,
-        ], JSON_UNESCAPED_UNICODE);
-        $data_digest = base64_encode(md5($body . $appSecret, TRUE));
-        $headers = [
-            'Content-Type' => 'application/json; charset=UTF-8',
-            'x-companyid' => $xAppKey,
-            'x-datadigest' => $data_digest,
-        ];
-        dd(Http::withHeaders($headers)->withBody($body, 'application/json')->post($url)->body());
-
-       $stores = Store::query()->whereIn("id",[490692,492252,492405,493259,491290,491758,492252,492989,493522,
-           496079,490702,491173,491780,493522,488622,490891,491020,491173,493308,489448,491020,491184,493573,493977,
-           496105,492086,493714,493977,496118,492593,492592,492591,492590,493011,493979,490721,492192,493429,493978,
-           496106,490721,491460,493165,496114,489319,489436,490703,491190,493957,496115,496114,489436,491147,
-           491695,492395,490711,491461,491695,492079,494533,496099,496096,490711,491458,491797,492244,
-           492422,496098,496097,496100,491458,491798,493572,493752,490443,491457,492394,493531,493572,491687,
-           492394,492968,493782,490431,490994,493782,488570,489103,490616,490994,493966,489862,490616,
-           490629,495645,490629,491455,488793])->get();
-       $this->dispatch(new StoreCreateInstantBill($stores));
-       dd(1);
-
-        /** @var StationTaskMaterialBox $stationTaskMaterialBox */
-        $stationTaskMaterialBox = app("StorageService")->createWarehousingTask($stationService->getStation_byType('立库')["id"],$station->materialBox->id);
-        app("CacheShelfService")->lightUp($station->code,'3','0',['title'=>"等待机器人拿走,请勿操作"]);
-        Cache::forever("CACHE_SHELF_OCCUPANCY_{$station->id}",true);
-        dd($ForeignHaiRoboticsService->putBinToStore_fromCacheShelf($stationTaskMaterialBox, $station));
-        $user = Auth::user();
-        $remark = "zengjunlj";
-        $ownerName = 'zengjunlj' ?? '';
-        $clientCode = 'zengjunljljlj' ?? '';
-        $msg = $user["name"]."建立了新工单<br/>".$ownerName.":".$clientCode."<br/>".$remark;
-        NotificationService::SingleRegister($msg,$clientCode,"订单管理-问题件");
-        dd(1);
-        $seeLog = SeeLog::query()->find(9);
-        Notification::send(Auth::user(),new RoutineNotification($seeLog->toArray()));
-        dd(1);
-        Broadcast::channel('notification', function ($user, $id) {
-            return (int) $user->id === (int) $id;
-        });
-        dd(1);
-        Notification::send(Auth::user(),new RoutineNotification($seeLog->toArray()));
-        dd(1);
-        $username = config('database.connections.oracle.username');
-        $password = config('database.connections.oracle.password');
-        $host = config('database.connections.oracle.host');
-        $service_name = config('database.connections.oracle.service_name');
-        $conn = oci_connect($username, $password, $host . '/' . $service_name,"utf8");
-        $sql = <<<sql
-BEGIN
-    SPSO_HardAllocation_Process('WH01','Allocation','By OrderNO',
-                                 null,'SO21090100007','0',null,
-    'zhouzhendong',:CODE);
-END;
-sql;
-
-        $stmt = oci_parse($conn, $sql);
-        $code = "";
-        oci_bind_by_name($stmt, ':CODE', $code,300);
-        oci_execute($stmt);
-        oci_close($conn);
-        dd($code);
-        //
-
-        $no = "SO21090900001";
-
-
-        $db = DB::connection("oracle");
-        //$order = $db->selectOne(DB::raw("select * from DOC_ORDER_HEADER where orderno = ?"),[$no]);
-        dd($db->select($sql,[
-        ]));
-        $db->select("CALL SPSO_HardAllocation_Process(?,'Allocation','By OrderNO',null,?,'0',null,'zhouzhendong',@code)",[
-            $order->warehouseid,$no
-        ]);
-        //SPSO_HardAllocation_Process
-        dd($db->selectOne("select @code"));
-        $date = "2021-09-14 15:47:00";
-        dispatch(new TestJob("1"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("2"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("3"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("4"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("5"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("6"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("7"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("8"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("9"))->delay(Carbon::parse($date));
-        dispatch(new TestJob("10"))->delay(Carbon::parse($date));
-        dd(1);
-
-
-        Station::query()->where("station_type_id", 5)->update(["status" => 1]);
-        Cache::forget("CACHE_SHELF_AVAILABLE");
-        $station = ["HAIB1-01-01", "HAIB1-02-01"];
-        $material = ["IDE0001824", "IDE0001740", "IDE0002710"];
-        Station::query()->whereIn("code", $station)->update(["status" => 0]);
-        $stations = Station::query()->whereIn("code", $station)->get();
-        $materials = MaterialBox::query()->whereIn("code", $material)->get();
-        $dateTime = date("Y-m-d H:i:s");
-        $task1 = StationTaskMaterialBox::query()->create([
-            'station_id' => $stations[0]->id,
-            'material_box_id' => $materials[0]->id,
-            'station_task_batch_id' => 1,
-            'status' => '待处理'
-        ]);
-        $task2 = StationTaskMaterialBox::query()->create([
-            'station_id' => $stations[1]->id,
-            'material_box_id' => $materials[1]->id,
-            'station_task_batch_id' => 1,
-            'status' => '待处理'
-        ]);
-        $task3 = StationTaskMaterialBox::query()->create([
-            'station_id' => 6,
-            'material_box_id' => $materials[2]->id,
-            'station_task_batch_id' => 1,
-            'status' => '待处理'
-        ]);
-        TaskTransaction::query()->insert([[
-            "doc_code" => "test",
-            "bar_code" => "test",
-            "to_station_id" => $stations[0]->id,
-            "material_box_id" => $materials[0]->id,
-            "task_id" => $task1->id,
-            "commodity_id" => 505012,//XUNI03
-            "amount" => 1,
-            "type" => "出库",
-            "status" => 0,
-            "mark" => 2,
-            "bin_number" => 1,
-            "created_at" => $dateTime,
-            "updated_at" => $dateTime,
-        ], [
-            "doc_code" => "test",
-            "bar_code" => "test",
-            "to_station_id" => $stations[1]->id,
-            "material_box_id" => $materials[1]->id,
-            "task_id" => $task2->id,
-            "commodity_id" => 505012,//XUNI03
-            "amount" => 1,
-            "type" => "出库",
-            "status" => 0,
-            "mark" => 2,
-            "bin_number" => 1,
-            "created_at" => $dateTime,
-            "updated_at" => $dateTime,
-        ], [
-            "doc_code" => "test",
-            "bar_code" => "test",
-            "to_station_id" => 6,
-            "material_box_id" => $materials[2]->id,
-            "task_id" => $task3->id,
-            "commodity_id" => 505012,//XUNI03
-            "amount" => 1,
-            "type" => "出库",
-            "status" => 3,
-            "mark" => 2,
-            "bin_number" => 1,
-            "created_at" => $dateTime,
-            "updated_at" => $dateTime,
-        ]]);
-        $foreignHaiRoboticsService = new ForeignHaiRoboticsService();
-        $toLocation = collect($station);
-        $taskMaterialBoxes = collect([$task1, $task2]);
-        $foreignHaiRoboticsService->
-        fetchGroup_multiLocation($toLocation, $taskMaterialBoxes, '', '立架出至缓存架', 20, false);
-        foreach ($toLocation as $index => $value) {
-            app("CacheShelfService")->lightUp($value, '3', '0', ["title" => "机器人取箱中,禁止操作"]);
-            Cache::forever("CACHE_SHELF_OCCUPANCY_{$stations[$index]->id}", true);
-        }
-        app("StationService")->locationOccupyMulti($toLocation->toArray());
+       $st = '[{"taskMode":1,"bins":[{"taskCode":"102876_1632099648.1379","binCode":"IDE0000686","fromLocCode":"BIN-IN1","toLocCode":""}],"groupCode":"_1632099648.1379","priority":10,"sequenceFlag":1}]';
+       $st = json_decode($st,true);
+       $st[0]["sequenceFlag"] = 0;
+       dd(json_encode($st));
+       $order = Order::query()->find(4367620);
+       $s = new OrderService();
+       $s->createInstantBill($order);
     }
 
     public function update_order_packages_is_manual_update()
@@ -656,7 +479,7 @@ sql;
 
     public function init_SettlementBillReportTask()
     {
-        $this->dispatch(new SettlementBillReportJob('2021-08-01',[]));
+        $this->dispatch(new SettlementBillReportJob('2021-09-01',[]));
     }
     public function test2(){
         $source_file ="E:\OneDrive\桌面\工作目录\文件库\\5.jpg";

+ 1 - 0
app/Services/ForeignHaiRoboticsService.php

@@ -407,6 +407,7 @@ class ForeignHaiRoboticsService
      */
     public function controlHaiRobot(array $dataToPost,Collection $taskMaterialBoxes,$modeName): bool
     {
+        $dataToPost[0]["sequenceFlag"] = 0; //TODO 关闭组内有序
         LogService::log('海柔请求','runMany','波次任务分配6.r5f2c1:'.json_encode($dataToPost));
         try{
             LogService::log('海柔请求','runMany','波次任务分配6.r5f2c1.51:');

+ 1 - 1
app/Services/LaborApplyService.php

@@ -68,7 +68,7 @@ class LaborApplyService
 
         //查询全部仓库
         $warehouses = Warehouse::all();
-        //按照仓库,
+        //给每个仓库计算分配数据 更改申请状态为指派成功
         foreach ($warehouses as $warehouse) {
             //查询当日的的申请,将申请的男女工分别加和
             $apply_man_nums = DB::table('labor_applies')

+ 2 - 1
app/Services/OrderPackageService.php

@@ -26,6 +26,7 @@ class OrderPackageService
     const CACHE_COLLECT_FLAG = 'CACHE_COLLECT_FLAG';
     //揽收缓存的过期时间
     const CACHE_COLLECT_FLAG_TTL = 3600 * 24;
+    const ZT_COLLECT_UPLOAD_DEFAULT_WEIGHT = 0.01; //中通自动揽收默认重量
     protected $modelClass = OrderPackage::class;
 
     public function batchUpdate(array $params)
@@ -488,7 +489,7 @@ class OrderPackageService
         foreach ($logistic_numbers_chunked_items as $logistic_number) {
             $collectUploadDTOS[] = [
                 'billCode' => $logistic_number,
-                'weight' => 0,
+                'weight' => self::ZT_COLLECT_UPLOAD_DEFAULT_WEIGHT,
                 'appId' => $appId,
                 'importDate' => now()->toDateTimeString(),
             ];

+ 1 - 1
app/Services/OwnerPriceExpressService.php

@@ -237,7 +237,7 @@ sql
      */
     public function getOwnerPriceExpress($owner,$logistic,$province)
     {
-        return Cache::tags("expressFeeOwner:".$owner)->remember("expressFee:".$owner.$logistic.$province,config("cache.expirations.rarelyChange"),
+        return Cache::tags("expressFeeOwner:".$owner)->remember("expressFee:".$owner."_".$logistic."_".$province,config("cache.expirations.rarelyChange"),
             function ()use($owner,$logistic,$province){
                 return OwnerPriceExpress::query()->with(["details"=>function($query)use($province){
                     /** @var Builder $query */

+ 1 - 1
app/Services/WaybillService.php

@@ -372,7 +372,7 @@ class WaybillService
     public function getDispatchQuery():Builder
     {
         return Waybill::query()->with(["order:id,address","logistic:id,name","amountUnit:id,name"])
-            ->select("id","order_id","logistic_id","amount_unit_id",
+            ->select("id","order_id","logistic_id","amount_unit_id","deliver_at",
                 "waybill_number","destination","recipient","recipient_mobile",
                 "carrier_bill","warehouse_weight","carrier_weight","inquire_tel",
                 "warehouse_weight_other","carrier_weight_other","amount","origination")->where(function ($query){

+ 2 - 2
app/Services/WorkOrderImageService.php

@@ -82,7 +82,7 @@ class WorkOrderImageService
     public function createWorkOrderDealImage($workOrder,$image)
     {
         /** @var UploadedFile  $image */
-        $count = $workOrder->commodityImages()->count();
+        $count = $workOrder->dealImages()->count();
         /** @var WorkOrderImage $workOrderImage */
         $workOrderImage = $workOrder->dealImages()->create(['type' => 3, 'number' => ++$count]);
         $workOrderImage->saveFile($image);
@@ -97,7 +97,7 @@ class WorkOrderImageService
     public function createWorkOrderRefundImages($workOrder, $images, bool $isLoadMissing = true)
     {
         foreach ($images as $image) {
-            $this->createWorkOrderCommodityImage($workOrder,$image);
+            $this->createWorkOrderRefundImage($workOrder,$image);
         }
         if ($isLoadMissing)$workOrder->loadMissing('refundImages');
     }

+ 0 - 7
bootstrap/cache/packages.php

@@ -1,11 +1,4 @@
 <?php return array (
-  'beyondcode/laravel-dump-server' => 
-  array (
-    'providers' => 
-    array (
-      0 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider',
-    ),
-  ),
   'facade/ignition' => 
   array (
     'providers' => 

+ 36 - 38
bootstrap/cache/services.php

@@ -23,25 +23,24 @@
     19 => 'Illuminate\\Translation\\TranslationServiceProvider',
     20 => 'Illuminate\\Validation\\ValidationServiceProvider',
     21 => 'Illuminate\\View\\ViewServiceProvider',
-    22 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider',
-    23 => 'Facade\\Ignition\\IgnitionServiceProvider',
-    24 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
-    25 => 'Intervention\\Image\\ImageServiceProvider',
-    26 => 'Laravel\\Horizon\\HorizonServiceProvider',
-    27 => 'Laravel\\Ui\\UiServiceProvider',
-    28 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
-    29 => 'Carbon\\Laravel\\ServiceProvider',
-    30 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
-    31 => 'Oursdreams\\Export\\ExportServiceProvider',
-    32 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
-    33 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
-    34 => 'Yajra\\Oci8\\Oci8ServiceProvider',
-    35 => 'App\\Providers\\AppServiceProvider',
-    36 => 'App\\Providers\\AuthServiceProvider',
-    37 => 'App\\Providers\\BroadcastServiceProvider',
-    38 => 'App\\Providers\\EventServiceProvider',
-    39 => 'App\\Providers\\HorizonServiceProvider',
-    40 => 'App\\Providers\\RouteServiceProvider',
+    22 => 'Facade\\Ignition\\IgnitionServiceProvider',
+    23 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
+    24 => 'Intervention\\Image\\ImageServiceProvider',
+    25 => 'Laravel\\Horizon\\HorizonServiceProvider',
+    26 => 'Laravel\\Ui\\UiServiceProvider',
+    27 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
+    28 => 'Carbon\\Laravel\\ServiceProvider',
+    29 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
+    30 => 'Oursdreams\\Export\\ExportServiceProvider',
+    31 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
+    32 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
+    33 => 'Yajra\\Oci8\\Oci8ServiceProvider',
+    34 => 'App\\Providers\\AppServiceProvider',
+    35 => 'App\\Providers\\AuthServiceProvider',
+    36 => 'App\\Providers\\BroadcastServiceProvider',
+    37 => 'App\\Providers\\EventServiceProvider',
+    38 => 'App\\Providers\\HorizonServiceProvider',
+    39 => 'App\\Providers\\RouteServiceProvider',
   ),
   'eager' => 
   array (
@@ -55,25 +54,24 @@
     7 => 'Illuminate\\Pagination\\PaginationServiceProvider',
     8 => 'Illuminate\\Session\\SessionServiceProvider',
     9 => 'Illuminate\\View\\ViewServiceProvider',
-    10 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider',
-    11 => 'Facade\\Ignition\\IgnitionServiceProvider',
-    12 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
-    13 => 'Intervention\\Image\\ImageServiceProvider',
-    14 => 'Laravel\\Horizon\\HorizonServiceProvider',
-    15 => 'Laravel\\Ui\\UiServiceProvider',
-    16 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
-    17 => 'Carbon\\Laravel\\ServiceProvider',
-    18 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
-    19 => 'Oursdreams\\Export\\ExportServiceProvider',
-    20 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
-    21 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
-    22 => 'Yajra\\Oci8\\Oci8ServiceProvider',
-    23 => 'App\\Providers\\AppServiceProvider',
-    24 => 'App\\Providers\\AuthServiceProvider',
-    25 => 'App\\Providers\\BroadcastServiceProvider',
-    26 => 'App\\Providers\\EventServiceProvider',
-    27 => 'App\\Providers\\HorizonServiceProvider',
-    28 => 'App\\Providers\\RouteServiceProvider',
+    10 => 'Facade\\Ignition\\IgnitionServiceProvider',
+    11 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
+    12 => 'Intervention\\Image\\ImageServiceProvider',
+    13 => 'Laravel\\Horizon\\HorizonServiceProvider',
+    14 => 'Laravel\\Ui\\UiServiceProvider',
+    15 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
+    16 => 'Carbon\\Laravel\\ServiceProvider',
+    17 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
+    18 => 'Oursdreams\\Export\\ExportServiceProvider',
+    19 => 'Overtrue\\LaravelPinyin\\ServiceProvider',
+    20 => 'Te7aHoudini\\LaravelTrix\\LaravelTrixServiceProvider',
+    21 => 'Yajra\\Oci8\\Oci8ServiceProvider',
+    22 => 'App\\Providers\\AppServiceProvider',
+    23 => 'App\\Providers\\AuthServiceProvider',
+    24 => 'App\\Providers\\BroadcastServiceProvider',
+    25 => 'App\\Providers\\EventServiceProvider',
+    26 => 'App\\Providers\\HorizonServiceProvider',
+    27 => 'App\\Providers\\RouteServiceProvider',
   ),
   'deferred' => 
   array (

File diff suppressed because it is too large
+ 214 - 147
composer.lock


+ 6 - 4
resources/views/finance/instantBill.blade.php

@@ -54,8 +54,8 @@
                     </td>
                     <td :rowspan="bill.rowspan"><span>@{{ bill.shopName }}</span></td>
                     <td :rowspan="bill.rowspan"><span>@{{ bill.operationBill }}</span></td>
-                    <td :rowspan="bill.rowspan"><span>@{{ bill.consigneeName }}</span></td>
-                    <td :rowspan="bill.rowspan"><span>@{{ bill.consigneePhone }}</span></td>
+                    <td :rowspan="bill.rowspan"><span v-if="bill.is_encryption" class="text-danger">*加密*</span><span v-else>@{{ bill.consigneeName }}</span></td>
+                    <td :rowspan="bill.rowspan"><span v-if="bill.is_encryption" class="text-danger">*加密*</span><span v-else>@{{ bill.consigneePhone }}</span></td>
                     <td><span>@{{ bill.commodityAmount }}</span></td>
                     <td :rowspan="bill.rowspan"><span>@{{ bill.province }}</span></td>
                     <td>
@@ -102,7 +102,7 @@
                         type : "{{$detail->type}}",
                         shopName : "{{$detail->shop ? $detail->shop->name : ''}}",
                         operationBill : "{{$detail->operation_bill}}",
-                        consigneeName : "{{$detail->consignee_name}}",
+                        consigneeName : ("{{$detail->consignee_name}}" && "{{$detail->consignee_name}}".length>50 && ("{{$detail->consignee_name}}".substring(0,3)==='~Ag' || "{{$detail->consignee_name}}".substring(0,1)==='#')) ? "加密" : "{{$detail->consignee_name}}",
                         consigneePhone : "{{$detail->consignee_phone}}",
                         commodityAmount : "{{$detail->commodity_amount}}",
                         logisticBill : "{{$detail->logistic_bill}}",
@@ -116,7 +116,9 @@
                         createdAt : "{{$detail->created_at}}",
                         total : "{{$detail->work_fee + $detail->logistic_fee}}",
                         items:{!! $detail->items !!},
-                        rowspan:Number("{{count($detail->items)}}")+1
+                        rowspan:Number("{{count($detail->items)}}")+1,
+                        is_encryption : !!("{{$detail->consignee_phone}}".length>50 && ("{{$detail->consignee_phone}}".substring(0,3)==='~Ag' || "{{$detail->consignee_phone}}".substring(0,1)==='#'
+                            || "{{$detail->consignee_phone}}".substring(0,1)==='$')),
                     },
                     @endforeach
                 ],

+ 1 - 1
resources/views/order/index/delivering.blade.php

@@ -66,7 +66,7 @@
                         </button>
                     @endcan
 {{--                    @can('订单管理-订单-一键揽收')--}}
-                        <button class="btn btn-sm ml-1 btn-success tooltipTarget" title="订单一键揽收必须满足条件:承运商为:“中通” 订单状态未取消;订单未冻结;订单有快递单号,快递未揽收"
+                        <button class="btn btn-sm ml-1 btn-success tooltipTarget" title="目前仅中通可用,默认重量0.01kg,默认揽收不需要任何条件"
                                 @click="collectUpload()">一键揽收</button>
 {{--                    @endcan--}}
                 </div>

+ 16 - 13
resources/views/personnel/laborApply/create.blade.php

@@ -2,7 +2,7 @@
 @section('title')录入-临时工申请协调@endsection
 
 @section('content')
-    <div class="container-fluid" id="list">
+    <div class="container-fluid d-none" id="list">
         <div class="card col-md-8 offset-md-2">
             <div class="card-body">
                 <!--
@@ -12,21 +12,24 @@
                    3 临时开放
                 -->
                 @can('人事管理')
-                <form v-if="can_create_status === 2" action="{{ route('laborApply.temporaryOpen') }}" method="post" accept-charset="UTF-8">
-                    {{ csrf_field() }}
-                    {{ method_field('PUT') }}
-                    <div class="form-group">
-                        <button type="submit" class="btn btn-outline-secondary btn-sm">
-                            <i class="far fa-trash-alt"></i> 临时开放
-                        </button>
-                    </div>
-                </form>
+                    <form v-if="can_create_status === 2" action="{{ route('laborApply.temporaryOpen') }}" method="post"
+                          accept-charset="UTF-8">
+                        {{ csrf_field() }}
+                        {{ method_field('PUT') }}
+                        <div class="form-group">
+                            <button type="submit" class="btn btn-outline-secondary btn-sm">
+                                <i class="far fa-trash-alt"></i> 临时开放
+                            </button>
+                        </div>
+                    </form>
                 @endcan
                 <h2 v-if="can_create_status === 2"
-                    style="text-align: center;color: red;font-size: 28px">超过申请时间无法提交申请,联系管理员:152 2169 4191 , 173 1630 6907 </h2>
+                    style="text-align: center;color: red;font-size: 28px">超过申请时间无法提交申请,联系管理员:152 2169 4191 , 173 1630
+                    6907 </h2>
                 <h2 v-if="can_create_status === 3"
                     style="text-align: center;color: red;font-size: 28px">系统临时开放,请尽快提交</h2>
-                <form v-if="(can_create_status === 1) || (can_create_status === 3)" action="{{ route('laborApply.store') }}" method="POST" accept-charset="UTF-8">
+                <form v-if="(can_create_status === 1) || (can_create_status === 3)"
+                      action="{{ route('laborApply.store') }}" method="POST" accept-charset="UTF-8">
                     @csrf
                     @include('shared._error')
                     {{--仓库--}}
@@ -96,7 +99,7 @@
                 can_create_status: {!! $can_create_status !!}
             },
             mounted() {
-
+                $('#list').removeClass('d-none');
             },
 
             methods: {}

+ 1 - 2
resources/views/personnel/laborApply/index.blade.php

@@ -8,7 +8,7 @@
             <div class="ml-3 form-inline" id="btn">
                 @can('人事管理')
                     <span class="ml-1">
-                        <a href="{{ route('laborApply.createDispatch') }}" type="button"
+                        <a title="00:00 - 01:00 禁止生成数据" href="{{ route('laborApply.createDispatch') }}" type="button"
                            class="btn btn-sm ml-2 btn-outline-danger">重新生成劳务派遣数据</a>
                     </span>
                 @endcan
@@ -102,7 +102,6 @@
                 selectTr: 0
             },
             mounted() {
-                console.log(this.labor_applies);
                 $('#list').removeClass('d-none');
                 let _this = this;
                 $(".up").slideUp();

+ 2 - 2
resources/views/rejected/edit.blade.php

@@ -4,12 +4,12 @@
 @section('content')
 
     <div id="nav2">
-        @component('rejected.menu')
+        {{--@component('rejected.menu')
             @can('退货管理-录入')
                 <li class="nav-item">
                     <a class="nav-link" href="javascript:;" :class="{active:isActive('edit',3)}">修改</a>
                 </li> @endcan
-        @endcomponent
+        @endcomponent--}}
     </div>
     <div class="container-fluid d-none" id="editPanel">
         <div class="card mb-2">

+ 1 - 1
routes/web.php

@@ -50,7 +50,7 @@ Route::get('personnel/checking-in/importAndExportQRCode','QRCodeController@impor
 Route::post('personnel/checking-in/refreshQRCode','QRCodeController@refreshQRCode');
 
 //人事管理
-Route::group(['prefix'=>'personnel'],function() {
+Route::group(['prefix'=>'personnel','middleware'=>'auth'],function() {
     //临时开放录入
     Route::put('laborApply/temporaryOpen','LaborApplyController@temporaryOpen')->name('laborApply.temporaryOpen');
     Route::get('laborApply/createDispatch','LaborApplyController@createDispatch')->name('laborApply.createDispatch');

+ 0 - 2
tests/Services/LogisticAliJiSuApiService/FormatTest.php

@@ -5,9 +5,7 @@ namespace Tests\Services\LogisticAliJiSuApiService;
 use App\Services\LogisticAliJiSuApiService;
 use App\Services\LogisticYDService;
 use App\Services\LogisticYTOService;
-use BeyondCode\DumpServer\DumpServerServiceProvider;
 use Tests\TestCase;
-use App\LogisticYD;
 use App\Traits\TestMockSubServices;
 
 class FormatTest extends TestCase

Some files were not shown because too many files changed in this diff