Explorar o código

Merge branch 'master' into zengjun

ajun %!s(int64=5) %!d(string=hai) anos
pai
achega
3c7f7c4b7b

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

@@ -128,6 +128,8 @@ class OrderIssueController extends Controller
 
     public function exportOrderIssue(Request $request)
     {
+        ini_set('max_execution_time', 2500);
+        ini_set('memory_limit', '1526M');
         if (!Gate::allows('订单管理-问题件-查询')) {
             return redirect(url('/'));
         }
@@ -510,7 +512,6 @@ class OrderIssueController extends Controller
         foreach ($array as $i => $str) {
 //            $string= preg_replace('/[\s,\,\,]+/','*++*',$str);
 //            $items = explode('*++*',$string);
-//            dd($items,$str);
             $items=[];
             preg_match('/^(\w*?)[\s,,;;]([\x{4e00}-\x{9fa5}]*?)[\s,,;;](.*?)[\s,,;;](\w*?)$/u', $str, $items);
             array_shift($items);
@@ -571,7 +572,7 @@ class OrderIssueController extends Controller
             }
             if(count($map)!==0)$maps[] = $map;
         }
-//        if(count($errors)>0)dd($errors);
+//        if(count($errors)>0)
         if(count($errors)>0) return ['success'=>false,'fail_info'=>$errors];
         try {
             foreach ($maps as $map) {

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

@@ -369,7 +369,8 @@ class ProcessController extends Controller
             $process->update();
             $result['process']=$processDaily->process_id;
             $processStatistic=ProcessStatistic::find($processDaily->process_id);
-            $processStatistic->started_at=date('Y-m-d H:i:s');
+            //$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']);
         }

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

@@ -14,7 +14,7 @@ class ProcessStatisticController extends Controller
     public function index(Request $request){
         if(!Gate::allows('二次加工管理-查询')){ return redirect('denied');  }
         /** @var ProcessStatisticService $processStatistics */
-        $processStatistics=app('ProcessStatisticService')->paginate($request->input());
+        $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]);

+ 15 - 2
app/Http/Controllers/TestController.php

@@ -43,6 +43,7 @@ use App\Services\CityService;
 use App\Services\CommodityService;
 use App\Services\common\BatchUpdateService;
 use App\Services\common\DataHandlerService;
+use App\Services\common\ExportService;
 use App\Services\InventoryCompareService;
 use App\Services\LogService;
 use App\Services\OracleActAllocationDetailService;
@@ -71,6 +72,7 @@ use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Http;
 use Illuminate\Support\Facades\Redis;
+use Illuminate\Support\Str;
 use Ramsey\Collection\Collection;
 use Zttp\Zttp;
 
@@ -90,8 +92,19 @@ class TestController extends Controller
     }
 
     public function test4(){
-        dd(Unit::query()->whereIn('name',[])->get());
-
+        $row = [];
+        for ($i=0;$i<50;$i++){
+            $row[] = "表头-".Str::random(5);
+        }
+        $list = [];
+        for ($i=0;$i<3000;$i++){
+            $line = [];
+            for($j=0;$j<50;$j++){
+                $line[] = Str::random(3)."\r\n".Str::random(3);
+            }
+            $list[] = $line;
+        }
+        return app(ExportService::class)->json($row,$list,"测试记录");
     }
 
     public function test2(){

+ 7 - 6
app/Http/Controllers/api/thirdPart/haochuang/SortingController.php

@@ -95,12 +95,12 @@ class SortingController extends Controller
                     return $code&&(!preg_match('/[\x{4e00}-\x{9fa5}]/u',$code));
                 })->join(',');
                 $orderData['barcodes'][]=[
-                    'id'=>$orderCommodity['id'],
-                    'barcode_id'=>$barcodeStr,
-                    'name'=>$commodity['name'],
-                    'sku'=>$commodity['sku'],
-                    'amount'=>$orderCommodity['amount'],
-                    'location'=>$orderCommodity['location'],
+                    'id'=>$orderCommodity['id']??'',
+                    'barcode_id'=>$barcodeStr??'',
+                    'name'=>$commodity['name']??'',
+                    'sku'=>$commodity['sku']??'',
+                    'amount'=>$orderCommodity['amount']??'',
+                    'location'=>$orderCommodity['location']??'',
                 ];
             });
             $data['orders'][]=$orderData;
@@ -136,6 +136,7 @@ class SortingController extends Controller
         $token = $request->input('token');
         $station_id = $request->input('station_id');
         $batch_id = $request->input('batch_id');
+        app('LogService')->log(__METHOD__,  __FUNCTION__.'_request', '浩创的完成请求:'.json_encode($request->all()));
         $errors=$this->doneValidator($request->all())->errors();
         $failInfo='';
         foreach ($errors as $error){$failInfo.=$error[0].'; ';}

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

@@ -177,7 +177,8 @@ class PackageController extends Controller
             return json_encode(["msg"=>$errors,"code"=>500,"data"=>null]);
         }
 
-        $measuringMachine=MeasuringMachine::query()->firstOrCreate(['code'=>$request['id']]);
+        $id = $request['id']??'00C66186389';
+        $measuringMachine=MeasuringMachine::query()->firstOrCreate(['code'=> $id]);
         $measuringMachine->turnOn();
         $measuringMachine->turnOffInMinutes(30);
 
@@ -303,7 +304,7 @@ class PackageController extends Controller
 
     public function validatorWeight(array $request){
         $validator=Validator::make($request,[
-            'id'=>['required','max:30',/*function ($attribute, $value, $fail) {
+            'id'=>['nullable','max:30',/*function ($attribute, $value, $fail) {
                 $measuringMachine=MeasuringMachine::where('code',$value)->first();
                 if (!$measuringMachine) {
                     $fail($attribute.' 设备未录入在系统中!');

+ 1 - 1
app/Providers/AppServiceProvider.php

@@ -32,7 +32,6 @@ 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;
@@ -140,6 +139,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('WarehouseService',WarehouseService::class);
         app()->singleton('StoreItemService',StoreItemService::class);
         app()->singleton('PackageService',PackageService::class);
+        app()->singleton('ProcessMethodService',ProcessMethodService::class);
 
         $this->loadingOrderModuleService();
         $this->loadingBasedModuleService();

+ 2 - 2
app/Services/OracleActAllocationDetailService.php

@@ -13,10 +13,10 @@ Class OracleActAllocationDetailService
 {
     private function query($sql, array $params){
         if ($params['checktime_start'] ?? false){
-            $sql .= " AND checktime >= '".$params['checktime_start']." 00:00:00'";
+            $sql .= " AND checktime >= '".$params['checktime_start'].":00'";
         }
         if ($params['checktime_end'] ?? false){
-            $sql .= " AND checktime <= '".$params['checktime_end']." 23:59:59'";
+            $sql .= " AND checktime <= '".$params['checktime_end'].":59'";
         }
         return $sql;
     }

+ 1 - 1
app/Services/ProcessService.php

@@ -14,7 +14,7 @@ Class ProcessService
      * @return Builder
      */
     private function conditionQuery(array $params){
-        $processes=Process::filterAuthorities()->with(['tutorials','signs',
+        $processes=Process::filterAuthorities()->with(['owner','processMethod','tutorials'=>function($query){$query->with('owner');},'signs','operatorLogs'=>function($query){$query->with('user');},
             'signUnitPrice','processesContents'=>function($query){
             return $query->with(['signCommodityName','signCommoditySku','signCommodityBarcode','commodity'=>function($query){
                 return $query->with('barcodes');

+ 45 - 0
app/Services/common/ExportService.php

@@ -0,0 +1,45 @@
+<?php
+
+namespace App\Services\common;
+
+
+
+use Exception;
+use Illuminate\Http\Response;
+use Illuminate\Support\Facades\Http;
+
+Class ExportService
+{
+
+    /**
+     * @param array $row            表头 一维数组
+     * @param array $list           表体 二维数组
+     * @param string $fileName      导出Excel文件名
+     * @param string $createFormat  导出数据格式化方式,默认非格式化
+     * @param array $mergeColumn    需要合并时 合并列 一维数组
+     * @param array $mergeRow       需要合并时 合并行 key-val数组 key为合并起点val为终点 例:["1"=>"4"] 第一行到第四行合并为一列
+     * @return Response
+     * @throws Exception            请求接口返回异常
+     */
+    public function json(array $row, array $list, string $fileName = '记录',
+                         string $createFormat = null, array $mergeColumn = [], array $mergeRow = []) :Response
+    {
+        $request['type'] = 'base';
+        $data = ['row'=>$row,'list'=>$list];
+        if ($createFormat){
+            $data["mergeColumn"] = $mergeColumn;
+            $data["mergeRow"] = $mergeRow;
+            $request["createFormat"] = "merge";
+        }
+        $request["data"] = json_encode($data,JSON_UNESCAPED_UNICODE);
+        $post=Http::post(config('go.export.url'),$request);
+
+        if ($post->status() == 500){
+            throw new Exception($post->header("Msg"));
+        }
+        return response($post,200, [
+            "Content-type"=>"application/octet-stream",
+            "Content-Disposition"=>"attachment; filename=".$fileName."-".date('ymdHis').'.xlsx',
+        ]);
+    }
+}

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

@@ -326,8 +326,8 @@
                         {name:'c_city',type:'input',tip:'市:15天以内模糊搜索,15天以外精确搜索',placeholder:'市'},
                         {name:'c_district',type:'input',tip:'区:15天以内模糊搜索,15天以外精确搜索',placeholder:'区'},
                         {name:'releasestatus',type:'select',tip:'是否冻结冻结',placeholder:'是否冻结',data:[{name:'H',value:'是'},{name:'',value:'否'}]},
-                        {name:'checktime_start',type:'dateTime',tip:'选择显示复核时间的起始日期'},
-                        {name:'checktime_end',type:'dateTime',tip:'选择显示复核时间的结束日期'},
+                        {name:'checktime_start',type:'time',tip:['选择显示复核时间的起始日期',"选择显示复核时间的起始时间"]},
+                        {name:'checktime_end',type:'time',tip:['选择显示复核时间的结束日期','选择显示复核时间的结束时间']},
                         {name: 'is_display_all', type: 'checkbox', tip: '是否隐藏装箱完成以后的状态', data: [{name: 'ture', value: '隐藏完成状态'}]},
                     ],
                 ];

+ 8 - 0
serves/excelExportGo/api/controller/controller.go

@@ -5,8 +5,10 @@ import (
     "bswas/orm"
     "bswas/utilities"
     "encoding/json"
+    "fmt"
     "net/http"
     "strconv"
+    "time"
 )
 
 func Export(w http.ResponseWriter,req *http.Request)  {
@@ -40,6 +42,8 @@ func selectCreateFormat(params map[string]string) (row []interface{}, list [][]i
 	switch params["createFormat"] {
 	case "merge":
 		row, list, mergeRow, mergeColumn = selectModule(params)
+    case "warpText":
+        row, list, _, mergeColumn = selectModule(params)
 	default:
 		row, list, _, _ = selectModule(params)
 	}
@@ -126,6 +130,8 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 		}
 		row, list = LaborReportFormat(data)
 	case "orderIssue":
+        t := time.Now()
+        fmt.Println(t.Format("2006-01-02 15:04:05"))
 		sqlList := make(map[string]string)
 		err := json.Unmarshal([]byte(params["sqlList"]), &sqlList)
 		if err != nil {
@@ -177,6 +183,8 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 			"A","B","C","D","E","F","G","H","I","J","K","L",
 			"U","Y","Z","AA","AF","AG","AH","AI","AJ","AK",
 		}
+        t = time.Now()
+        fmt.Println(t.Format("2006-01-02 15:04:05"))
 	case "inventoryAccountMission":
 		err := json.Unmarshal([]byte(params["data"]), &data)
 		if err != nil {

+ 27 - 6
serves/excelExportGo/excel/export.go

@@ -8,27 +8,48 @@ import (
 const SHEET  = "Sheet1"
 
 func CreateFile(row []interface{},list [][]interface{}, mergeRow map[string]string, mergeColumn []string) (excel *excelize.File) {
+    /* 生成文件 */
 	file := excelize.NewFile()
 	streamWriter, err := file.NewStreamWriter(SHEET)
 	if err != nil {
-		utilities.WriteLog("/excel/export.go:14   文件生成失败!","ERROR")
+		utilities.WriteLog("/excel/export.go:15   文件生成失败!","ERROR")
 	}
+
+	/* 换行 */
+    styleID, err := file.NewStyle(&excelize.Style{
+        Alignment: &excelize.Alignment{
+            WrapText: true,
+        },
+    })
+    if err != nil {
+        utilities.WriteLog("/excel/export.go:25  创建换行样式失败!","ERROR")
+    }
+    end, _ := excelize.ColumnNumberToName(len(row))
+    err = file.SetColStyle(SHEET, "A:"+end, styleID)
+    if err != nil {
+        utilities.WriteLog("/excel/export.go:30  设置换行格式失败!","ERROR")
+        return
+    }
+
+    /* 写入表头 */
 	cell, _ := excelize.CoordinatesToCellName(1, 1)
 	if err := streamWriter.SetRow(cell, row); err != nil {
-		utilities.WriteLog("/excel/export.go:18  写入表头失败!","ERROR")
+		utilities.WriteLog("/excel/export.go:37  写入表头失败!","ERROR")
 	}
+	/* 流式写入数据 */
 	for index := 0; index < len(list); index++ {
 		cell, _ := excelize.CoordinatesToCellName(1, index+2)
 		if err := streamWriter.SetRow(cell, list[index]); err != nil {
-			utilities.WriteLog("/excel/export.go:23  数据写入文件失败!","ERROR")
+			utilities.WriteLog("/excel/export.go:43  数据写入文件失败!","ERROR")
 		}
 	}
+	/* 合并操作 */
 	if mergeRow != nil && mergeColumn != nil {
 		for start,end := range mergeRow {
 			for i := 0;i<len(mergeColumn); i++ {
 				err := file.MergeCell(SHEET,mergeColumn[i]+start,mergeColumn[i]+end)
 				if err != nil {
-					utilities.WriteLog("/excel/export.go:31  合并单元格失败!","ERROR")
+					utilities.WriteLog("/excel/export.go:52  合并单元格失败!","ERROR")
 					return
 				}
 			}
@@ -36,7 +57,7 @@ func CreateFile(row []interface{},list [][]interface{}, mergeRow map[string]stri
 	}
 
 	if err := streamWriter.Flush(); err != nil {
-		utilities.WriteLog("/excel/export.go:39  文件流关闭失败!","ERROR")
+		utilities.WriteLog("/excel/export.go:60  文件流关闭失败!","ERROR")
 	}
 	return file
-}
+}