Pārlūkot izejas kodu

日志区块
部分BUG修复
分支忽略性提交

Zhouzhendong 4 gadi atpakaļ
vecāks
revīzija
cdc20f62c6

+ 46 - 3
app/Http/Controllers/TestController.php

@@ -69,6 +69,7 @@ use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\URL;
 use Illuminate\Support\Facades\Validator;
+use Illuminate\Support\Str;
 use Laravel\Horizon\Events\JobFailed;
 use PhpOffice\PhpSpreadsheet\Calculation\Web\Service;
 
@@ -87,12 +88,54 @@ class TestController extends Controller
     {
         return call_user_func([$this, $method], $request);
     }
+    private function valFormat($val):?string
+    {
+        if ($val!==null){
+            $ret = date("Y-m-d H:i:s",strtotime($val))===(string)$val;
+            if ($ret)$val = "to_date('".$val."','yyyy-mm-dd hh24:mi:ss')";
+            else $val = "'".$val."'";
+        }else $val = "null";
+        return $val;
+    }
+    public function test1($task,$amount){
+        DB::connection("oracle")->beginTransaction();
+        try {
+            $columns = '';
+            $values = '';
+            foreach ($task as $key => $val) {
+                if (Str::upper($key) == 'TASKID_SEQUENCE') {
+                    $taskMax = DB::connection("oracle")->selectOne(DB::raw("select MAX(TASKID_SEQUENCE) maxseq from TSK_TASKLISTS where taskid = ?"), [$task->taskid]);
+                    $val = $taskMax->maxseq + 1;
+                }
+                if (Str::upper($key) == 'FMQTY' || Str::upper($key) == 'FMQTY_EACH'
+                    || Str::upper($key) == 'PLANTOQTY' || Str::upper($key) == 'PLANTOQTY_EACH') {
+                    $val -= $amount;
+                    $task->$key = $amount;
+                }
+                $columns .= $key . ",";
+                $values .= $this->valFormat($val) . ",";
+            }
+            $columns = mb_substr($columns, 0, -1);
+            $values = mb_substr($values, 0, -1);
+            $sql = <<<sql
+    INSERT INTO TSK_TASKLISTS({$columns}) VALUES({$values})
+sql;
+            dd($sql);
+        }catch (\Exception $e){
+            dd($e);
+        }
+    }
 
     public function test()
     {
-        dd(app("CacheShelfService")->lightUp('HAIB1-01-01','1','0'));
-        TaskTransaction::query()->where("id",">=","267")->delete();
-        ErrorTemp::query()->truncate();
+        TaskTransaction::query()->where("id",">=","265")->delete();
+        StationTaskMaterialBox::query()->whereIn("id",[85010,85011])->get();
+        app("CacheShelfService")->_stationCacheLightOff("HAIB1-01-01");
+        Station::query()->where("station_type_id",5)
+            ->whereNotNull("parent_id")->where("id","!=",11)->update(["status"=>1]);
+        TaskTransaction::query()->find(265)->update(["status"=>0,"material_box_id"=>4562]);
+        StationTaskMaterialBox::query()->find(85010)->update(["status"=>"待处理","material_box_id"=>4562]);
+        Cache::forget("CACHE_SHELF_AVAILABLE");
         $task = StationTaskMaterialBox::query()->find(85010);
         //11 HAIB1-01-01
         $a = new ForeignHaiRoboticsService();

+ 9 - 1
app/Logging/DebugFormatter.php

@@ -3,6 +3,8 @@
 
 namespace App\Logging;
 
+use Monolog\Logger;
+
 /**
  * Handle debug events
  *
@@ -11,5 +13,11 @@ namespace App\Logging;
  */
 class DebugFormatter
 {
-
+    /**
+     * @param Logger|\Illuminate\Log\Logger $logger
+     */
+    public function __invoke($logger)
+    {
+        if (env("APP_ENV","production")!='local')$logger->popHandler();
+    }
 }

+ 3 - 0
app/Logging/ErrorFormatter.php

@@ -12,5 +12,8 @@ namespace App\Logging;
  */
 class ErrorFormatter
 {
+    public function __invoke($logger)
+    {
 
+    }
 }

+ 4 - 2
app/Services/CacheShelfService.php

@@ -96,7 +96,8 @@ class   CacheShelfService
 
         /** @var StationTaskMaterialBox $stationTaskMaterialBox */
         $stationTaskMaterialBox = app("StorageService")->createWarehousingTask($this->stationService->getStation_byType('立库')["id"],$station->materialBox->id);
-
+        $this->lightUp($station->code,'3','0',['title'=>"等待机器人拿走,请勿操作"]);
+        Cache::forever("CACHE_SHELF_OCCUPANCY_{$station->id}",true);
         return $this->foreignHaiRoboticsService->putBinToStore_fromCacheShelf($stationTaskMaterialBox, $station);
     }
 
@@ -210,9 +211,10 @@ class   CacheShelfService
      */
     public function boxHasBeenTaken($station)
     {
-        app("StationService")->locationFreed($station); //释放库位,解除绑定料箱
+        app("StationService")->locationFreed($station->code); //释放库位,解除绑定料箱
         $available=Cache::get("CACHE_SHELF_AVAILABLE",0)+1;//获取可用缓存架数量 plus当前
         Cache::forever("CACHE_SHELF_AVAILABLE",$available);
+        $this->_stationCacheLightOff($station->code);
         CacheShelfTaskJob::dispatch("CACHE_SHELF_AVAILABLE",$available)->delay(now()->addSeconds(config("haiRou.cacheShelf.outBinAwait")));
     }
 }

+ 4 - 0
app/Services/OwnerStoragePriceModelService.php

@@ -111,6 +111,10 @@ class OwnerStoragePriceModelService
         if (!$model || !$area || $model->operation) return array(0,null);
         if ($area < $model->minimum_area) $area = $model->minimum_area;
 
+        if (!isset($GLOBALS["FEE_INFO"]))$GLOBALS["FEE_INFO"] = [
+            "fee_description" => "",
+            "tax_rate" => "",
+        ];
         $GLOBALS["FEE_INFO"]["fee_description"] .= "起租面积:".$model->minimum_area;
 
         switch ($model->discount_type){

+ 1 - 1
app/Services/StorageService.php

@@ -353,7 +353,7 @@ SQL;
     private function valFormat($val):?string
     {
         if ($val!==null){
-            $ret = date("Y-m-d H:i:s",strtotime($val))==$val;
+            $ret = date("Y-m-d H:i:s",strtotime($val))===(string)$val;
             if ($ret)$val = "to_date('".$val."','yyyy-mm-dd hh24:mi:ss')";
             else $val = "'".$val."'";
         }else $val = "null";

+ 34 - 7
config/logging.php

@@ -41,34 +41,61 @@ return [
     'channels' => [
         'stack' => [
             'driver' => 'stack',
-            'channels' => ['emergency','daily'],
+            'channels' => ["debug",'critical',"error","warning","info"],
             'ignore_exceptions' => false,
         ],
-
         'single' => [
             'driver' => 'single',
-            'tap' => [App\Logging\SingleFormatter::class],
             'path' => storage_path('logs/laravel.log'),
             'level' => 'debug',
         ],
 
         'daily' => [
             'driver' => 'daily',
-            'tap' => [App\Logging\CustomizeFormatter::class],
             'path' => storage_path('logs/error.log'),
             'level' => 'error',
             'permission' => '0666',
             'days' => 14,
         ],
-        'emergency'=> [
+
+        'debug'=>[
+            'driver' => 'daily',
+            'tap' => [App\Logging\DebugFormatter::class],
+            'path' => storage_path('logs/debug.log'),
+            'level' => 'debug',
+            'permission' => '0666',
+            'days' => 7,
+        ],
+        'critical'=> [
+            'driver' => 'single',
+            'tap' => [App\Logging\CriticalFormatter::class],
+            'path' => storage_path('logs/critical.log'),
+            'level' => 'critical',
+            "bubble"=>false,
+        ],
+        'error'=>[
             'driver' => 'daily',
-            'tap' => [App\Logging\SingleFormatter::class],
+            'tap' => [App\Logging\ErrorFormatter::class],
             'path' => storage_path('logs/error.log'),
-            'level' => 'emergency',
+            'level' => 'error',
             'permission' => '0666',
             'days' => 14,
             "bubble"=>false,
         ],
+        'warning'=>[
+            'driver' => 'single',
+            'tap' => [App\Logging\WarningFormatter::class],
+            'path' => storage_path('logs/warning.log'),
+            'level' => 'error',
+            "bubble"=>false,
+        ],
+        'info'=>[
+            'driver' => 'single',
+            'tap' => [App\Logging\InfoFormatter::class],
+            'path' => storage_path('logs/info.log'),
+            'level' => 'info',
+            "bubble"=>false,
+        ],
 
         'slack' => [
             'driver' => 'slack',