Просмотр исходного кода

Merge branch 'zzd' of ssh://was.baoshi56.com:10022/var/git/bswas

LD 4 лет назад
Родитель
Сommit
441dc3bbea
3 измененных файлов с 110 добавлено и 2 удалено
  1. 3 1
      app/Http/Controllers/StorageController.php
  2. 6 1
      app/Services/StorageService.php
  3. 101 0
      文档/Export使用.md

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

@@ -60,6 +60,8 @@ sql;
         app("CacheShelfService")->_stationCacheLightOn($fromLocation,$ide);
         //建立入库任务
         if (!app("ForeignHaiRoboticsService")->putWareHousing($fromLocation,'',$box->id))$this->error("错误库位或库位已被下达任务");
+        //占用库位 应在任务完成后释放
+        app("StorageService")->markOccupy($fromLocation);
         $this->success();
     }
 
@@ -216,7 +218,7 @@ sql;
             "status" => 0,"material_box_id" => null, "commodity_id" => null, "amount" => 0,
         ]);
         //重新调取料箱
-        //app("StorageService")->paddingCacheShelf($station->get());
+        app("StorageService")->paddingCacheShelf($station->get());
         $this->success(["data"=>$data,"boxes"=>$boxes]);
     }
 }

+ 6 - 1
app/Services/StorageService.php

@@ -6,6 +6,7 @@ use App\StationTask;
 use App\StationTaskMaterialBox;
 use App\Traits\ServiceAppAop;
 use App\Storage;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Support\Collection;
 
 class StorageService
@@ -47,10 +48,14 @@ class StorageService
      * 标记指定库位为占用
      *
      * @param string $location
+     *
+     * @return int
      */
     public function markOccupy($location)
     {
-
+        return Storage::query()->whereHas("station",function (Builder $query)use($location){
+            $query->where("code",$location);
+        })->update(["status"=>1]);
     }
 
 }

+ 101 - 0
文档/Export使用.md

@@ -0,0 +1,101 @@
+## 安装部署
+
+    composer require oursdreams/export
+    php artisan export
+    php artisan export:start
+    
+## 命令
+    //初始化与命令列表
+    php artisan export
+    //服务启动
+    php artisan export:start
+    //服务关闭
+    php artisan export:stop
+    
+## 使用(仿EloquentModel)
+    //JSON
+    --快捷方式 参数依次为:表头(必须),表体(必须),文件名,是否开启内部换行(默认开启)
+        Export::make($row,$list,$fileName,$isWarpText);
+    --部分定制方式 此处示意最简化方式,中间可穿插函数操作
+        $serves = new Export();
+        $response = $serves->json($row,$list);
+        return $response->direct();
+     //JSON 同上最简化示意
+        $serves = new Export();
+        $serves->setOracleConnection($host,$port,$database,$username,$password);
+        //$sql->string类型原生SQL语句 $mapping->KEY,VAL形式数组用作表头与列名映射 $rule->定制一些规则
+        $response = $serves->sql($sql,$mapping,$rule);
+        return $response->direct();
+        
+        //下方示例将UNITS表的name,created_at列数据整理导出 Excel表头将是:名称,创建时间 时间字段将被格式化为标准格式
+        $sql = "SELECT name,created_at FROM UNITS";
+        $mapping = ["name"=>"名称","created_at"=>"创建时间"];
+        $rule = ["created_at"=>"date"]
+        $serves->sql($sql,$mapping,$rule);
+        
+     //注: JSON与SQL非静态行为均返回一个Response对象,且其提供direct函数来直接响应给浏览器文件流
+        
+## 可用方法
+    --文本行为
+    setWarpTextFormat() 
+        将内部文本\r\n解析换行
+        
+    setMergeFormat($mergeColumn,$mergeRow)
+        该行为应用于JSON时手动指定
+        指定合并单元格,$mergeColumn(数组)为指定Excel列,$mergeRow(键值对数组)为指定行
+        例:$mergeColumn=["A","B"]; $mergeRow = [1=>3,4=>6];
+        上述参数将A,B列的1至3行与4至6行 分别合并
+        
+    setDatum($column)
+        该行为应用于SQL时自动指定,应配合setMergeFormat一起使用
+        根据提供基准列进行自动合并
+        使用前确保您的基准列数据是唯一的且连续的
+        
+    --连接行为    
+    setMysqlConnection($host, $port, $database, $username, $password, $charset = "utf8mb4", $parsetime = "True")
+        设置Mysql连接
+        
+    setOracleConnection($host, $port, $database, $username, $password, $charset = "utf8mb4", $parsetime = "True")
+        设置Oracle连接
+        
+    --存储行为
+    setLogPath($path)
+        开启本地存储日志,需要提供一个路径
+        
+    setFilePath($path)
+        将文件另存为指定路径下
+        
+    --操作行为
+    setFileName($filename)
+        设置文件名
+        
+    setDateTimeColumn($column)
+        格式化指定列为标准时间格式
+        
+    setPercentColumn($column)
+        格式化指定列为百分数值
+        
+    --响应 只有在调用json与sql方法时才会返回一个响应对象
+    getGuzzleHttpResponse()
+        获取一个GuzzleHttpResponse格式的响应对象
+    
+    getStatus()
+        获取状态码
+        
+    getHeader()
+        获取响应头
+        
+    getBody()
+        获取内容
+        
+    getErrorMessage()
+        获取错误信息(此方法实际已被废弃,出现错误会被立即抛出)
+        
+    getMetadata();
+        获取元数据(文件流)
+        
+    getSize()
+        获取内容大小(并非绝对文件大小,此处可以大致当为文件大小)
+        
+    direct()
+        直接返回响应文件流