ソースを参照

Merge branch 'master' into Haozi

haozi 5 年 前
コミット
cfdac3d2b2

+ 1 - 1
app/Commodity.php

@@ -17,7 +17,7 @@ class Commodity extends Model
         $this->attributes['name']=str_replace(PHP_EOL,'',$value);
     }
     public function getNameAttribute($value){
-        return $this->attributes['name']=str_replace(array("\r\n","\n","\r",""",'"'),'',$value);
+        return str_replace(array("\r\n","\n","\r","\"","""),' ',$value);
     }
     public function barcodes()
     {

+ 19 - 19
app/Console/Commands/WASSyncWMSOrderInformation.php

@@ -47,24 +47,24 @@ class WASSyncWMSOrderInformation extends Command
 
     public function WasSyncWmsOrder(){
 
-//        /** @var OrderTrackingService $orderTrackingService */
-//        $orderTrackingService  = app('orderTrackingService');
-//
-//        $dataInterval = intval(data_get(config('sync'), 'order_tracking_import.interval')) * 60 + 5;
-//
-//        $startDate = Carbon::now()->subSeconds($dataInterval);
-//
-//        $syncStartDate = data_get(config('sync'), 'order_tracking_import.start_at');
-//
-//        if($syncStartDate ?? false){
-//            $syncStartDate = Carbon::parse($syncStartDate);
-//            if ($startDate->lt($syncStartDate)) {
-//                $startDate = $syncStartDate;
-//            }
-//        }
-//
-////        $startDate = Carbon::parse('2020-05-06 13:16:51')->toDateTimeString();
-////        $orderTrackingService->根据设置从WMS同步追踪货主的订单($startDate);
-//        $orderTrackingService->trackingWmsOrder($startDate);
+        /** @var OrderTrackingService $orderTrackingService */
+        $orderTrackingService  = app('orderTrackingService');
+
+        $dataInterval = intval(data_get(config('sync'), 'order_tracking_import.interval')) * 60 + 5;
+
+        $startDate = Carbon::now()->subSeconds($dataInterval);
+
+        $syncStartDate = data_get(config('sync'), 'order_tracking_import.start_at');
+
+        if($syncStartDate ?? false){
+            $syncStartDate = Carbon::parse($syncStartDate);
+            if ($startDate->lt($syncStartDate)) {
+                $startDate = $syncStartDate;
+            }
+        }
+
+//        $startDate = Carbon::parse('2020-05-06 13:16:51')->toDateTimeString();
+//        $orderTrackingService->根据设置从WMS同步追踪货主的订单($startDate);
+        $orderTrackingService->trackingWmsOrder($startDate);
     }
 }

+ 8 - 1
app/Http/Controllers/InventoryController.php

@@ -111,7 +111,14 @@ class InventoryController extends Controller
             $sql=app('inventoryDailyLogService')->getSql($params);
 
         }else $sql=app('inventoryDailyLogService')->getSql(['id'=>$request->data]);
-        $post = Http::post(config('go.export.url'),['type'=>'inventoryDailyLog','sql'=>$sql]);
+
+        $row = ["货主","日期","商品名称","商品编码","商品条码","在库数量","长","宽","高","体积","总占用体积","总毛重"];
+        $column = ["owner_name", "created_at", "commodity_name", "commodity_sku", "commodity_barcode_code",
+            "amount", "commodity_length", "commodity_width", "commodity_height", "commodity_volumn", "volumn_occupied", "gross_weight"];
+        $rule = ["created_at"=> "mysqlDate"];
+        $post = Http::post(config('go.export.url'),['type'=>'unify','sql'=>$sql, 'connection'=>'mysql',
+            'row'=>json_encode($row,JSON_UNESCAPED_UNICODE), 'column'=>json_encode($column), 'rule'=>json_encode($rule)]);
+
         if ($post->status() == 500){
             throw new Exception($post->header("Msg"));
         }

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

@@ -90,7 +90,7 @@ class LaborReportController extends Controller
                 "exit_at" => $laborReport->exit_at,
                 "verify_at" => $laborReport->verify_at,
                 "group_user_id" => $laborReport->user ? $laborReport->user->name : null,
-                "relax_time" => $laborReport->relax_time,
+                "relax_time" => (string)$laborReport->relax_time,
                 "online_duration" => $laborReport->online_duration,
                 "working_duration" => $laborReport->working_duration,
                 "remark" => $laborReport->remark,

+ 77 - 55
app/Http/Controllers/TestController.php

@@ -419,10 +419,8 @@ class TestController extends Controller
     }
 
     public function test2(){
-        $wmsCommodities = app('oracleBasSkuService')->getPiece([],0,5000);
-        dd(count($wmsCommodities));
-        dd(json_encode($wmsCommodities,JSON_UNESCAPED_UNICODE));
-        //json_decode(json_encode($wmsCommodities,JSON_UNESCAPED_UNICODE),true);
+        $c = Commodity::find(325434);
+        dd($c['name']);
     }
 
     /*1*/
@@ -486,18 +484,22 @@ class TestController extends Controller
     {
         $trackings = OrderTracking::query()->with('commodities.package')->get();
         $trackings->each(function ($tracking){
-            $tracking->each(function (){
-
-            });
+            $package = $tracking->commodities->package;
+            $bulk = $package->bulk;
+            if($bulk>=1000000){
+                $bulk = bcdiv($bulk,1000000000,3);
+                OrderPackage::query()->where('id',$package->id)->update(['bulk'=>$bulk]);
+            }
         });
     }
+
     public function test3()
     {
-//        dd(bcmul(0.3,0.3,5));
-        $logistic = Logistic::query()->where('code','XJWL')->first();
-        if(!$logistic){
-            Logistic::query()->create(['code'=>'XJWL','name'=>'新杰物流']);
-        }
+////        dd(bcmul(0.3,0.3,5));
+//        $logistic = Logistic::query()->where('code','XJWL')->first();
+//        if(!$logistic){
+//            Logistic::query()->create(['code'=>'XJWL','name'=>'新杰物流']);
+//        }
 
         /** @var DataHandlerService $dataHandlerService */
         $dataHandlerService = app(DataHandlerService::class);
@@ -511,65 +513,72 @@ class TestController extends Controller
 //        $startDate = \Illuminate\Support\Carbon::parse('2020-05-06 13:16:51')->toDateTimeString();
         //$orderTrackingService->trackingWmsOrder($startDate);
         $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
-        $startDate = \Illuminate\Support\Carbon::parse('2020-08-26 00:00:00')->toDateTimeString();
-        $endData = \Illuminate\Support\Carbon::parse('2020-09-26 00:00:00')->toDateTimeString();
+        $startDate = \Illuminate\Support\Carbon::parse('2020-09-25 00:00:00')->toDateTimeString();
+//        $endData = \Illuminate\Support\Carbon::parse('2020-09-26 00:00:00')->toDateTimeString();
         $orderHeaders = OracleDOCOrderHeader::query()
             ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
             ->where('addTime','>=',$startDate)
 //            ->where('addTime','<=',$endData)
             ->whereIn('customerID',data_get($owners,'*.code'))
             ->get();
-
 //        $orderHeaders = app(OracleDOCOrderHeaderService::class)->getWmsOrderOnStartDateCreate($startData);
         $orderService->createByWmsOrder($orderHeaders);
         $orderTrackingService->createByWmsOrderHeader($orderHeaders);
         $orderService->updateByWmsOrders($orderHeaders);
         $orderTrackingService->updateByWmsOrderHeaders($orderHeaders);
-
     }
+    public function test4()
+    {
 
-    public function syncWmsOrder(){
-        $startDate = \Illuminate\Support\Carbon::parse('2020-09-19 00:00:00')->toDateTimeString();
-        /** @var OrderTrackingService $orderTrackingService */
-        $orderTrackingService  = app('orderTrackingService');
-        $orderTrackingService->trackingWmsOrder($startDate);
-    }
+        $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
+        $startDate = \Illuminate\Support\Carbon::parse('2020-09-25 00:00:00')->toDateTimeString();
+        $orderHeaders = OracleDOCOrderHeader::query()
+            ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
+            ->where('addTime','>=',$startDate)
+//            ->where('addTime','<=',$endData)
+            ->whereIn('customerID',data_get($owners,'*.code'))
+            ->get();
+        dd($orderHeaders);
 
-    public function updateOrderPackingCommodity(){
-        /** @var OrderTrackingService  $orderTrackingService */
-        $orderTrackingService =  app(OrderTrackingService::class);
-        /** @var OrderPackageCommoditiesService  $orderPackageCommoditiesService */
-        $orderPackageCommoditiesService =  app(OrderPackageCommoditiesService::class);
-        /** @var OrderService $orderService */
-        $orderService = app(OrderService::class);
-        $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
-        $orderNo = data_get($orderTrackings,'*.commodities.package.order.code');
-        $order_packages = OrderPackage::query()->with('order')->whereHas('order',function($query) use($orderNo){
-            $query->whereIn('code',$orderNo);
-        })->get();
-
-        $id = data_get($order_packages,'*.id');
-        $list =  OrderPackageCommodities::query()->whereIn('order_package_id',$id)->get();
-//        dd(data_get($list,'*.id'),data_get($orderTrackings,'*.id'));
-        $count1 = OrderPackageCommodities::destroy(data_get($list,'*.id'));
-        $count2 = OrderTracking::destroy(data_get($orderTrackings,'*.id'));
-//            dd(1);
-
-
-        $orderHeaders = OracleDOCOrderHeader::query()->whereIn('orderno',$orderNo)->get();
-
-        $order_packages =  app(OrderPackageService::class)->getByWmsOrders($orderHeaders);
-        $owners =  app(OwnerService::class)->getByWmsOrders($orderHeaders);
-        $commodities =  app(CommodityService::class)->getByWmsOrders($orderHeaders);
-        $owner_code_map=[];
-        foreach ($owners as $owner) {
-            $owner_code_map[$owner->code] = $owner;
-        }
-//        $orderService->createByWmsOrder($orderHeaders);
-        $orderPackageCommoditiesService->createByWmsOrder($orderHeaders,$order_packages,$owner_code_map,$commodities);
-        $orderTrackingService->createByWmsOrderHeader($orderHeaders);
     }
 
+//    public function syncWmsOrder(){
+//        $startDate = \Illuminate\Support\Carbon::parse('2020-09-19 00:00:00')->toDateTimeString();
+//        /** @var OrderTrackingService $orderTrackingService */
+//        $orderTrackingService  = app('orderTrackingService');
+//        $orderTrackingService->trackingWmsOrder($startDate);
+//    }
+
+//    public function updateOrderPackingCommodity(){
+//        /** @var OrderTrackingService  $orderTrackingService */
+//        $orderTrackingService =  app(OrderTrackingService::class);
+//        /** @var OrderPackageCommoditiesService  $orderPackageCommoditiesService */
+//        $orderPackageCommoditiesService =  app(OrderPackageCommoditiesService::class);
+//
+//        $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
+//        $orderNo = data_get($orderTrackings,'*.commodities.package.order.code');
+//        $order_packages = OrderPackage::query()->with('order')->whereHas('order',function($query) use($orderNo){
+//            $query->whereIn('code',$orderNo);
+//        })->get();
+//
+//        $id = data_get($order_packages,'*.id');
+//        $list =  OrderPackageCommodities::query()->whereIn('order_package_id',$id)->get();
+////        dd(data_get($list,'*.id'),data_get($orderTrackings,'*.id'));
+//        $count1 = OrderPackageCommodities::destroy(data_get($list,'*.id'));
+//        $count2 = OrderTracking::destroy(data_get($orderTrackings,'*.id'));
+//        $orderHeaders = OracleDOCOrderHeader::query()->whereIn('orderno',$orderNo)->get();
+//        $order_packages =  app(OrderPackageService::class)->getByWmsOrders($orderHeaders);
+//        $owners =  app(OwnerService::class)->getByWmsOrders($orderHeaders);
+//        $commodities =  app(CommodityService::class)->getByWmsOrders($orderHeaders);
+//        $owner_code_map=[];
+//        foreach ($owners as $owner) {
+//            $owner_code_map[$owner->code] = $owner;
+//        }
+////        $orderService->createByWmsOrder($orderHeaders);
+//        $orderPackageCommoditiesService->createByWmsOrder($orderHeaders,$order_packages,$owner_code_map,$commodities);
+//        $orderTrackingService->createByWmsOrderHeader($orderHeaders);
+//    }
+
 //    public function orderTrckingOwnerAll(){
 //        $owners = Owner::all();
 //        foreach ($owners as $owner) {
@@ -654,4 +663,17 @@ class TestController extends Controller
 //            $order->update(['logistic_id'=>$logistic->id]);
 //        }
 //    }
+    public function updateOrderTracking(){
+        $orderTrackings = OrderTracking::query()->with('commodities.package.order')->get();
+        foreach ($orderTrackings as $orderTracking) {
+            if(!$orderTracking->web_order_number){
+                $order = $orderTracking->commodities->package->order;
+                $client_code = $order->client_code;
+                if(preg_match('/^O[\d]/',$client_code ?? '') > 0){
+                    OrderTracking::query()->where('id',$orderTracking->id)->update(['web_order_number'=>$client_code]);
+                }
+            }
+        }
+    }
+
 }

+ 18 - 13
app/Services/CommodityService.php

@@ -179,18 +179,24 @@ Class CommodityService
         $commodities = Commodity::query()
             ->whereIn('owner_id',data_get($owners,'*.id'))
             ->whereIn('sku',$orderHeader_sku)
+            ->groupBy('owner_id','sku')  //*!!!!!!!!
             ->get();
-        if($commodities->count() < count($orderHeader_sku)){
-            $params = [];
-            foreach ($commodities as $commodity) {
-                $owner_code = $owners_id_map[$commodity->owner_id]->code ?? '';
-                $arr [] = [
-                    'owner_code' => $owner_code,
-                    'sku' => $commodity->sku
-                ];
+
+        if($commodities->count() < count($customerId_sku_map)){
+            $commoditiesInWAS索引_sku = [];
+            foreach ($commodities as $commodityInWms) {
+                $owner = $owners_id_map[$commodityInWms->owner_id] ?? '';
+                if(!$owner)continue;
+                $key ='owner_cod='.$owner['code'].' sku='.$commodityInWms->sku;
+                $commoditiesInWAS索引_sku[$key]=$commodityInWms;
             }
-            $params = array_diff($customerId_sku_map,$params);
-            $commodity_set = $this->createCommodities($params,$owners_code_map);
+            $commodities需要新增=[];
+            foreach ($customerId_sku_map as $commodityInWms) {
+                $key ='owner_cod='.$commodityInWms['owner_code'].' sku='.$commodityInWms['sku'];
+                if($commoditiesInWAS索引_sku[$key] ?? false) continue;
+                $commodities需要新增[$key] = $commodityInWms;
+            }
+            $commodity_set = $this->createCommodities($commodities需要新增,$owners_code_map);
             $commodities = $commodities->concat($commodity_set);
         }
         return  $commodities;
@@ -204,8 +210,10 @@ Class CommodityService
             ->whereIn('Sku',data_get($params,'*.sku'))
             ->get();
         $insert_params = [];
+
         foreach ($bas_sku_arr as $bas_sku) {
             $owner = $owners_code_map[$bas_sku->customerid] ?? '';
+            if(!$owner)continue;
             $created_at = Carbon::now()->format('Y-m-d H:i:s');
             $insert_params[] = [
                 'owner_id' => $owner->id,
@@ -227,12 +235,9 @@ Class CommodityService
                 LogService::log(__METHOD__,__FUNCTION__,'批量添加 commodity error' .json_encode($insert_params) ."||".$e->getMessage().'||'.$e->getTraceAsString());
             }
         }
-
         return Commodity::query()
             ->whereIn('owner_id',data_get($owners_code_map,'*.id'))
             ->whereIn('sku',data_get($params,'*.sku'))
             ->get();
     }
-
-
 }

+ 1 - 1
app/Services/InventoryDailyLogService.php

@@ -25,7 +25,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")
+        return $this->conditionQuery($params)->selectRaw("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('commodities','inventory_daily_logs.commodity_id','commodities.id')

+ 6 - 7
app/Services/OrderPackageCommoditiesService.php

@@ -610,7 +610,6 @@ class OrderPackageCommoditiesService
                         unset($order_package_commodities[$key]);
                         break;
                     }elseif($order_package_commodity->sku !== $actAllocationDetail->sku  &&
-                        $order_package_commodity->commodity_id !==  $actAllocationDetail->id &&
                         $order_package_commodity->amount !== $actAllocationDetail->qty){
                         $insertParams[] = [
                             'order_package_id' => $order_package->id,
@@ -627,12 +626,12 @@ class OrderPackageCommoditiesService
         if(count($updateParams) > 0){
             $this->batchUpdate($updateParams);
         }
-        {
-            /** @var OrderPackageService $orderPackageService */
-            $orderPackageService = app(OrderPackageService::class);
-            $order_packages = $orderPackageService->getByWmsOrders($orderHeaders);
-            $this->createByWmsOrder($orderHeaders, $order_packages, $owner_code_map, $commodities);
-        }
+//        {
+//            /** @var OrderPackageService $orderPackageService */
+//            $orderPackageService = app(OrderPackageService::class);
+//            $order_packages = $orderPackageService->getByWmsOrders($orderHeaders);
+//            $this->createByWmsOrder($orderHeaders, $order_packages, $owner_code_map, $commodities);
+//        }
 
         if(count($insertParams) > 0){
             try {

+ 17 - 12
app/Services/OrderPackageService.php

@@ -265,8 +265,10 @@ class OrderPackageService
                     if($commodity['weight'] == 0  || !$commodity['bulk'] == 0 ){
                         array_push($noAttributeCommodity,$commodity);
                     }
-                    $updateArr['weight'] += bcmul($commodity['weight'], $packageCommodity['amount'],5);
-                    $updateArr['bulk'] += bcmul($commodity['bulk'], $packageCommodity['amount'],5);
+//                    $updateArr['weight'] += bcmul($commodity['weight'], $packageCommodity['amount'],5);
+//                    $updateArr['bulk'] += bcmul($commodity['bulk'], $packageCommodity['amount'],5);
+//                    $updateArr['weight'] += round($commodity['weight']*$packageCommodity['amount'],5);
+                    $updateArr['bulk'] += round($commodity['bulk']*$packageCommodity['amount'],5);
                     //$updateArr['weight'] +=(intval($commodity['weight'] ?? 0) )  * ( intval($packageCommodity['amount'] ?? 0) );
                     //$updateArr['bulk'] += (intval($commodity['bulk']  ?? 0)) * (intval($packageCommodity['amount'] ?? 0) );
                 }
@@ -358,10 +360,9 @@ class OrderPackageService
 
         $order_packages_logistic_number_map = [];
         $order_packages = OrderPackage::query()->whereIn('order_id',data_get($orders,'*.id'))->get();
-
         foreach ($order_packages as $order_package) {
 //            $key = ' order_id='.$order_package->order_id.' logistic_number='.$order_package->logistic_number;
-            $key = ' logistic_number='.$order_package->logistic_number;
+            $key =  ' order_id='.$order_package->order_id.' logistic_number='.$order_package->logistic_number;
             $order_packages_logistic_number_map[$key] = $order_package;
         }
 
@@ -371,10 +372,11 @@ class OrderPackageService
             if(!$orderHeader){ continue;}
             $params = $this->getParamsByOrderHeader($orderHeader,$order,$order_packages_logistic_number_map);
             if(!$params){continue;}
-            $insert_params = array_merge($insert_params,$params);
+            $insert_params[] = $params;
+        }
+        if(count($insert_params)>0){
+            $order_packages = $this->create($insert_params);
         }
-        if(count($insert_params) ==  0){return null;}
-        $order_packages = $this->create($insert_params);
         /** @var OrderPackageCommoditiesService $orderPackageCommodityService */
         /** @var OwnerService  $ownerService */
         /** @var CommodityService  $commodityService */
@@ -384,7 +386,6 @@ class OrderPackageService
         $owner_code_map = [];
 
         $commodities = $commodityService->getByWmsOrders($orderHeaders_map);
-
         $owners = $ownerService->getByWmsOrders($orderHeaders_map);
         foreach ($owners as $owner) {
             $owner_code_map[$owner->code] = $owner;
@@ -449,10 +450,14 @@ class OrderPackageService
                 if(!$commodity['length'] || !$commodity['width'] || !$commodity['height']){
                     continue;
                 }
-                $bulk = bcmul($commodity['length'],$commodity['width'],5);
-                $bulk = bcmul($commodity['height'],$bulk,5);
-                $bulk = bcmul($bulk,$orderPackageCommodity->amount,5);
-                if($bulk>=1000)bcdiv($bulk,1000000000,3);
+//                $bulk = bcmul($commodity['length'],$commodity['width'],5);
+//                $bulk = bcmul($commodity['height'],$bulk,5);
+//                $bulk = bcmul($bulk,$orderPackageCommodity->amount,5);
+                $bulk = round($commodity['length']*$commodity['width'],5);
+                $bulk = round($commodity['height']*$bulk,5);
+                $bulk = round($bulk*$orderPackageCommodity->amount,5);
+//                if($bulk>=1000000)bcdiv($bulk,1000000000,3);
+                if($bulk>=1000000)round($bulk/1000000000,3);
                 $params['bulk'] +=  $bulk;
             }
             if($params['bulk'] == $orderPackage->bulk && $orderPackage->bulk!= 0){continue;}

+ 8 - 5
app/Services/OrderService.php

@@ -680,7 +680,6 @@ class OrderService
         $multipleData = [[
             'id', 'wms_status', 'consignee_name', 'consignee_phone', 'province', 'city', 'district', 'wms_edittime', 'address', 'client_code'
         ]];
-
         // XXX 循环 300个元素 3s - 5s
             /** @var Order $order */
         foreach ($orders as $key=>$order) {
@@ -828,11 +827,9 @@ class OrderService
             $shop_name_map[$key] = $shop;
         }
 
-        $this->filterExitingOrder($orderHeaders_map);
+//        $this->filterExitingOrder($orderHeaders_map);
         $insert_params = $this->getParamsByOrderHeader($orderHeaders_map,$owners_code_map,$logistics_code_map,$shop_name_map);
-        $orders = $this->create($insert_params);
-        if(!$orders)return [];
-
+        $this->create($insert_params);
 
         $orderPackageService->createByWmsOrder($orderHeaders_map);
         $order_nos = array_keys($orderHeaders_map);
@@ -855,8 +852,14 @@ class OrderService
     public function getParamsByOrderHeader($orderHeaders_map,$owners_code_map,$logistics_code_map,$shop_name_map){
         $params = [];
         // 自提 转 新杰物流
+        $orders = Order::query()->whereIn('code',data_get($orderHeaders_map,'*.orderno'))->get();
+        $order_code_map = [];
+        foreach ($orders as $order) {
+            $order_code_map[$order->code]= $order;
+        }
         $logistic_XJWL = Logistic::query()->where('code' ,'XJWL')->first();
         foreach ($orderHeaders_map as $orderHeader) {
+            if($order_code_map[$orderHeader->orderno] ?? false)continue;
             $owner = $owners_code_map[$orderHeader->customerid] ?? null;
             $logistic =  $logistics_code_map[$orderHeader->userdefine1] ?? null;
             $shop = $shop_name_map[' _owner_code'.$orderHeader->customerid.' name='.$orderHeader->issuepartyname] ?? '';

+ 25 - 9
app/Services/OrderTrackingService.php

@@ -4,12 +4,10 @@ namespace App\Services;
 
 use App\Exports\Export;
 use App\OracleDOCOrderHeader;
-use App\Order;
 use App\OrderPackageCommodities;
 use App\OrderTracking;
 use App\Services\common\BatchUpdateService;
 use App\Services\common\QueryService;
-use Carbon\Carbon;
 use Illuminate\Support\Facades\Auth;
 use Maatwebsite\Excel\Facades\Excel;
 
@@ -54,15 +52,16 @@ class OrderTrackingService
     {
         $query = $this->getQuery($params);
 
-        if (isset($params['client_code'])|| isset($params['logistic_id']))     // client_code logistic
+        if (isset($params['client_code'])|| isset($params['logistic_id'])){     // client_code logistic
             $query->whereHas('commodities.package.order', function ($query) use ($params) {
                 if($params['client_code'] ?? false){
-                    $query->where('client_code', $params['client_code']);
+                    $query->where('client_code','like', $params['client_code']);
                 }
                 if(isset($params['logistic_id']) ){
                     $query->where('logistic_id',$params['logistic_id']);
                 }
             });
+        }
 
         if ($params['client'] ?? false)  // 客户
             $query->where('client', 'like', $params['client']);
@@ -263,7 +262,7 @@ class OrderTrackingService
 
     private function updateOrderTracking($orderTrackings, $orderPackagesCommodities)
     {
-        $multipleData = [['id', 'owner_id', 'client', 'pick_up_at']];
+        $multipleData = [['id', 'owner_id', 'client', 'pick_up_at','web_order_number']];
         $orderTrackings_list = [];
 
         foreach ($orderPackagesCommodities as $item) {
@@ -292,19 +291,24 @@ class OrderTrackingService
                         $order_remark = str_replace(['[',']'],'',$order_remark);
                     }
                 }
-
+                $web_order_number = null;
+                if(preg_match('/^O[\d]/',$orderHeader['orderno'] ?? '') > 0){
+                    $web_order_number = $orderHeader['soreference1'];
+                }
                 $data = [
                     'id' => $orderTracking['id'],
                     'owner_id' => $order['owner_id'] ?? '',
                     'client' => $client,
                     'pick_up_at' => $pick_up_at ?? null, // 提货时间
                     'order_remark' => $order_remark,
+                    'web_order_number' => $web_order_number,
                 ];
 
                 if ($data['owner_id'] !== $orderTracking['owner_id'] ||
                     $data['client'] !== $orderTracking['client'] ||
                     $data['pick_up_at'] !== $orderTracking['pick_up_at'] ||
-                    $data['order_remark'] !== $orderTracking['order_remark']
+                    $data['order_remark'] !== $orderTracking['order_remark'] ||
+                    $data['web_order_number'] !==  $orderTracking['web_order_number']
                 ) {
                     $multipleData[] = $data;
                 }
@@ -402,13 +406,19 @@ class OrderTrackingService
                     $order_remark = str_replace(['[',']'],'',$order_remark);
                 }
             }
+            $web_order_number = null;
+            if(preg_match('/^O[\d]/',$order_header['soreference1'] ?? '') > 0){
+                $web_order_number = $order_header['soreference1'];
+            }
+
             $params[] =[
                 'order_package_commodity_id' => $item->id,
                 'owner_id' => $order->owner_id,
                 'client' => $client,
                 'created_at' => $order->created_at,
                 'order_remark' => $order_remark,
-                'pick_up_at' => $order_header->lastshipmenttime // 提货时间,
+                'pick_up_at' => $order_header->lastshipmenttime, // 提货时间,
+                'web_order_number' => $web_order_number
             ];
         }
 
@@ -483,6 +493,7 @@ class OrderTrackingService
                         'client' => $params['client'],
                         'pick_up_at' => $params['pick_up_at'],
                         'order_remark' => $params['order_remark'],
+                        'web_order_number' => $params['web_order_number'],
                     ];
                 }
             }
@@ -539,12 +550,17 @@ class OrderTrackingService
                 $order_remark = rtrim($order_remark,']');
             }
         }
+        $web_order_number = null;
+        if(preg_match('/^O[\d]/',$order_header['soreference1'] ?? '') > 0){
+            $web_order_number = $order_header['soreference1'];
+        }
         return [
             'owner_id' => $order->owner_id,
             'client' => $client,
             'created_at' => $order->created_at,
             'order_remark' => $order_remark,
-            'pick_up_at' => $orderHeader->lastshipmenttime // 提货时间
+            'pick_up_at' => $orderHeader->lastshipmenttime, // 提货时间
+            'web_order_number' =>$web_order_number
         ];
     }
 

+ 3 - 1
public/t.php

@@ -1,3 +1,5 @@
 <?php
+$value=`·sdf
+aa·`;
+var_dump( preg_match('/[\r\n]/',$value));
 
-echo bcdiv(123456789,1000000000,3);

+ 7 - 0
resources/js/queryForm/queryForm.js

@@ -1131,6 +1131,13 @@ const query = function getQueryForm(data) {
     function rendererSearchFormOn_data() {
         for (let key in _data) {
             let value = _data[key].value, type = _data[key].type, mold = _data[key].mold;
+            if(value){
+                let string = new String(value);
+                if(string.length > 1 ){
+                    string = string.replace('+',' ');
+                    value = string
+                }
+            }
             _data[key].select = value;
 
             if (['input', 'dateTime'].includes(mold)) {

+ 3 - 2
resources/views/inventory/stockInventory/inventoryMission.blade.php

@@ -412,8 +412,8 @@
                             v-if="inventoryMission.checked==='是'||inventoryMission.checked==='跳过'||inventory.status==='复盘中'||listMode">@{{ inventoryMission.occupied_amount }}</span>
                     </td>
                     @can('库存管理-盘点')
-                        <td v-if="!listMode">
-{{--                                <span class="btn  btn-sm btn-outline-danger" @click="删除盘点记录(inventoryMission.id,inventory.id,inventoryMission.commodity.name)">删除</span>--}}
+                        <td>
+{{--                            <span class="btn  btn-sm btn-outline-danger" @click="删除盘点记录(inventoryMission.id,inventory.id,inventoryMission.commodity.name)">删除</span>--}}
                             <span class="btn  btn-sm btn-outline-secondary" v-if="inventoryMission.checked==='否'"
                                   @click="跳过盘点记录(inventoryMission.id,inventory.id,inventoryMission.commodity.name)">跳过</span>
                             <span class="btn  btn-sm btn-outline-secondary"
@@ -1553,6 +1553,7 @@
                             delete inventoryMission.stockInventoryPersons;
                             delete inventoryMission.commodity;
                         });
+                        console.log(data);
                         let data = JSON.stringify(this.checkData);
                         excelExport(checkAllSign,data,url,this.sum,token);
                     }

+ 9 - 27
resources/views/order/issue/index.blade.php

@@ -113,11 +113,10 @@
 {{--                        <th class="three-layer  align-middle" rowspan="2" >退回单号</th>--}}
 {{--                        @cannot('订单管理-问题件-客户不可见')--}}
                         <th class="three-layer   align-middle" rowspan="2" v-if="!isShowRejectedBill" style="min-width:50px">展开</th>
-
-                        <th class=" align-middle" rowspan="2" v-if="isShowRejectedBill" style="min-width:220px">退回单号</th>
+                        <th class="three-layer align-middle" rowspan="2" v-if="isShowRejectedBill" style="min-width:220px">退回单号</th>
                         <th class="three-layer   align-middle" colspan="5" v-if="isShowRejectedBill" style="min-width: 450px">返回商品明细</th>
 {{--                        @endcannot--}}
-                        <th class=" bg-whit  align-middle" rowspan="2" style="min-width: 115px">情况说明</th>
+                        <th class="three-layer bg-whit  align-middle" rowspan="2" style="min-width: 115px">情况说明</th>
                         <th class="three-layer   align-middle" rowspan="2" style="min-width: 115px">问题类别</th>
                         <th class="three-layer  align-middle" colspan="3" style="min-width: 115px">处理结果</th>
                         @cannot('订单管理-问题件-客户不可见')
@@ -133,7 +132,7 @@
                         <th class="three-layer  align-middle" rowspan="2" style="min-width: 120px">宝时赔偿金额</th>
                         <th class="three-layer  align-middle" rowspan="2" style="min-width: 120px">宝时快递减免</th>
                         <th class="three-layer  align-middle" rowspan="2" style="min-width: 120px">事故责任方</th>
-                        <th class="three-layer  align-middle" rowspan="2" style="min-width: 120px">操作</th>
+                        <th class="align-middle" rowspan="2" style="min-width: 120px">操作</th>
                         @endcannot
                     </tr>
                     <tr class=" tr-yellow" align="center">
@@ -157,7 +156,6 @@
                         @endcannot
                     </tr>
 
-
                     <tr class="tr-yellow text-center table-body"  v-if="orderIssues" v-for="(orderIssue,index) in orderIssues"
                         @click="selectedColor(orderIssue.id)" :class="orderIssue.remark ? 'tr_top':''" v-on:mouseover="hidetop($event)" v-on:mouseleave="showtop($event)"
                         :style="[{'font-weight': orderIssue.id===selectedStyle?'bold':''}]">
@@ -179,8 +177,6 @@
                             <span v-if="orderIssue.is_new_rejecting">@{{ orderIssue.is_new_rejecting }}</span>
                             @endcan
                         </td>
-
-
                         @can("订单管理-问题件-置顶")
                         <td class="text-muted child-layer-1">
                             <button type="button" class="btn btn-sm btn-outline-danger " @click="cancelOnTop($event)" :data-value="orderIssue.top.id" style="opacity: 0.75" v-if="orderIssue.top">
@@ -228,7 +224,6 @@
                             @endcannot
                             @{{ orderIssue.order.created_at }}
                         </td>
-
                         <td class="td-yellow child-layer-2">
                             <span v-if='orderIssue.order.owner'>@{{ orderIssue.order.owner.name }}</span>
                         </td>
@@ -294,7 +289,7 @@
 
                         <td class="text-muted child-layer-3-hide" v-if="isShowRejectedBill">
                             @can('订单管理-问题件-编辑')
-                            <input type="text" class="form-control form-control-sm" :value="orderIssue.logistic_number_return" @keydown.enter="changeRejectedBill(orderIssue,$event)">
+                            <input type="text" class="form-control form-control-sm" :value="orderIssue.logistic_number_return" @change="changeRejectedBill(orderIssue,$event)">
                             @else
                             @{{ orderIssue.logistic_number_return }}
                             @endcan
@@ -442,7 +437,7 @@
                         @endcannot
                         <td class="child-layer-3">
                             @can('订单管理-问题件-编辑')
-                            <input type="number" class="form-control form-control-sm" :value="orderIssue.logistic_indemnity_money" @keydown.enter="updateOrderIssue(orderIssue,'logistic_indemnity_money',$event)">
+                            <input type="number" class="form-control form-control-sm" :value="orderIssue.logistic_indemnity_money" @change="updateOrderIssue(orderIssue,'logistic_indemnity_money',$event)">
                             @else
                                 @{{ orderIssue.logistic_indemnity_money }}
                             @endcan
@@ -460,7 +455,7 @@
                         @cannot('订单管理-问题件-客户不可见')
                         <td class="child-layer-3">
                             @can('订单管理-问题件-编辑')
-                            <input type="number" class="form-control form-control-sm" :value="orderIssue.baoshi_indemnity_money" @keydown.enter="updateOrderIssue(orderIssue,'baoshi_indemnity_money',$event)">
+                            <input type="number" class="form-control form-control-sm" :value="orderIssue.baoshi_indemnity_money" @change="updateOrderIssue(orderIssue,'baoshi_indemnity_money',$event)">
                             @else
                                 @{{ orderIssue.baoshi_indemnity_money }}
                             @endcan
@@ -680,7 +675,6 @@
                 this.isShowSecondOrderInfo= false;
                 let tr = $('.tr-yellow')[1];
                 let countShow = $(tr).children('.one-layer').length;
-                console.log(countShow);
                 $('.header-1').attr('colspan',countShow);
 
                 $('.tooltipTarget').tooltip({'trigger': 'hover'});
@@ -750,11 +744,7 @@
                     let tr = $('.tr-yellow')[1];
                     setTimeout(function(){
                         let countShow = $(tr).children('.tow-layer').length;
-                        if(newValue){
-                            $('.header-2').attr('colspan',countShow+2);
-                        }else{
-                            $('.header-2').attr('colspan',countShow);
-                        }
+                        $('.header-2').attr('colspan',countShow + (newValue ? 2:0));
                     },2);
                 },
                 isShowRejectedBill(newValue){
@@ -762,11 +752,7 @@
                     let _this = this;
                     setTimeout(function(){
                         let countShow = $(tr).children('.three-layer').length;
-                        if(newValue){
-                            $('.header-3').attr('colspan',countShow + 2 + (_this.isShowSecondOrderInfo?6:2));
-                        }else{
-                            $('.header-3').attr('colspan',countShow+ 2 + (_this.isShowSecondOrderInfo?6:2));
-                        }
+                        $('.header-3').attr('colspan',countShow +2+  (_this.isShowSecondOrderInfo ? 2:0) +(_this.isShowRejectedBill?4:0));
                     },2);
                 },
                 isShowSecondOrderInfo(newValue){
@@ -774,11 +760,7 @@
                     let _this = this;
                     setTimeout(function(){
                         let countShow = $(tr).children('.three-layer').length;
-                        if(newValue){
-                            $('.header-3').attr('colspan',countShow + 2 + (_this.isShowRejectedBill?4:2));
-                        }else{
-                            $('.header-3').attr('colspan',countShow + 2 + (_this.isShowRejectedBill?4:2));
-                        }
+                        $('.header-3').attr('colspan',countShow +2+  (_this.isShowSecondOrderInfo ? 2:0) +(_this.isShowRejectedBill?4:0));
                     },2);
                 },
             },

+ 16 - 18
resources/views/order/tracking/index.blade.php

@@ -16,7 +16,7 @@
                             </div>
                             <div class="modal-body container row" style="text-align:center">
                                 <div class="col-2 mt-2" v-for="owner in owners">
-                                    <div style="border: 1px solid #aac7ea;height: 80px;text-align: center;line-height: 80px;border-radius: 4px;cursor: pointer"
+                                    <div style="border: 1px solid #aac7ea;height: 80px;text-align: center;border-radius: 4px;cursor: pointer;align-content: center"
                                          :style="[{'background': trackingOwner.includes(Number(owner.name)) ? '#00FF00' : ''},
                                             {'box-shadow' : trackingOwner.includes(owner.name) ? '0px 0px 10px 5px rgba(0,0,0,0.9)' : ''}]"
                                          @click="addTrackingOwner(owner.name,owner.value)">@{{ owner.value }}</div>
@@ -82,18 +82,18 @@
                         <td>@{{ index+1 }}</td>
                         <td class="text-decoration-none td-warm">@{{ trackOrder.ownerName }}</td>
                         <td class="td-warm">
-{{--                            <span v-if="trackOrder.orderClientCode.substr(0,1) === 'O'"> @{{ trackOrder.web_order_number }}</span>--}}
-{{--                            <span v-else>  @{{ trackOrder.orderClientCode }}</span>--}}
-                            @{{ trackOrder.orderClientCode }}
+                            <span v-if="trackOrder.web_order_number"> </span>
+                            <span v-else>  @{{ trackOrder.orderClientCode }}</span>
+{{--                            @{{ trackOrder.orderClientCode }}--}}
                         </td>
                         <td class="td-warm">
-{{--                            <span v-if="trackOrder.orderClientCode.substr(0,1) === 'O'"></span>--}}
+                            <span v-if="trackOrder.web_order_number"> @{{ trackOrder.web_order_number }}</span>
 {{--                            <span v-else> @{{ trackOrder.web_order_number }}</span>--}}
-                            @can('订单管理-跟踪-仓库编辑')
-                                <input class="form-control form-control-sm" :value="trackOrder.web_order_number" @keydown.enter="warehouseUpdate($event,'web_order_number',trackOrder)" >
-                            @else
-                            @{{ trackOrder.web_order_number }}
-                            @endcan
+{{--                            @can('订单管理-跟踪-仓库编辑')--}}
+{{--                                <input class="form-control form-control-sm" :value="trackOrder.web_order_number" @keydown.enter="warehouseUpdate($event,'web_order_number',trackOrder)" >--}}
+{{--                            @else--}}
+{{--                            @{{ trackOrder.web_order_number }}--}}
+{{--                            @endcan--}}
                         </td>
                         <td class="td-warm">
                             @can('订单管理-跟踪-仓库编辑')
@@ -104,15 +104,14 @@
                         </td>
                         <td class="td-warm">
                             @can('订单管理-跟踪-仓库编辑')
-                                <input class="form-control form-control-sm" :value="trackOrder.sale" @keydown.enter="warehouseUpdate($event,'sale',trackOrder)" >
-
+                                <input class="form-control form-control-sm" :value="trackOrder.sale" @change="warehouseUpdate($event,'sale',trackOrder)" >
                             @else
                                 @{{ trackOrder.sale }}
                             @endcan
                         </td>
                         <td class="td-yellow">
                             @can('订单管理-跟踪-仓库编辑')
-                                <input class="form-control form-control-sm" :value="trackOrder.client" @keydown.enter="warehouseUpdate($event,'client',trackOrder)" >
+                                <input class="form-control form-control-sm" :value="trackOrder.client" @change="warehouseUpdate($event,'client',trackOrder)" >
                             @else
                                 @{{ trackOrder.client }}
                             @endcan
@@ -122,7 +121,7 @@
                         <td class="td-yellow">@{{ trackOrder.sku.skuAmount }}</td>
                         <td class="td-yellow">
                             @can('订单管理-跟踪-仓库编辑')
-                                <input class="form-control form-control-sm" :value="trackOrder.order_remark" @keydown.enter="warehouseUpdate($event,'order_remark',trackOrder)" >
+                                <input class="form-control form-control-sm" :value="trackOrder.order_remark" @change="warehouseUpdate($event,'order_remark',trackOrder)" >
                             @else
                                 @{{ trackOrder.order_remark }}
                             @endcan
@@ -131,7 +130,7 @@
                         <td class="td-yellow">@{{ trackOrder.packageBulk |millimeterToCubic}}</td>
                         <td class="td-yellow">
                             @can('订单管理-跟踪-仓库编辑')
-                                <input class="form-control form-control-sm" :value="trackOrder.pallet_total" @keydown.enter="warehouseUpdate($event,'pallet_total',trackOrder)" >
+                                <input class="form-control form-control-sm" :value="trackOrder.pallet_total" @change="warehouseUpdate($event,'pallet_total',trackOrder)" >
                             @else
                                 @{{ trackOrder.pallet_total }}
                             @endcan
@@ -174,14 +173,14 @@
                         </td>
                         <td class="td-calm">
                             @can('订单管理-跟踪-物流公司编辑')
-                                <input class="form-control form-control-sm" @keyup.enter="logisticUpdate($event,'receive_bill_status',trackOrder)" :value="trackOrder.receive_bill_status">
+                                <input class="form-control form-control-sm" @change="logisticUpdate($event,'receive_bill_status',trackOrder)" :value="trackOrder.receive_bill_status">
                             @else
                                 @{{ trackOrder.receive_bill_status }}
                             @endcan
                         </td>
                         <td class="td-calm">
                             @can('订单管理-跟踪-物流公司编辑')
-                                <input class="form-control form-control-sm" @keyup.enter="logisticUpdate($event,'remark',trackOrder)" :value="trackOrder.remark">
+                                <input class="form-control form-control-sm" @change="logisticUpdate($event,'remark',trackOrder)" :value="trackOrder.remark">
                             @else
                                 @{{ trackOrder.remark }}
                             @endcan
@@ -296,7 +295,6 @@
                     deep: true
                 },
             },
-
             methods:{
                 checkAll(e){
                     if (e.target.checked) {

+ 58 - 13
serves/excelExportGo/api/controller/controller.go

@@ -16,9 +16,7 @@ func Export(w http.ResponseWriter,req *http.Request)  {
 	e := decoder.Decode(&params)
 	if e != nil{
 		utilities.WriteLog("/api/controller/controller.go:18   参数解析失败!","ERROR")
-		return
 	}
-
 	file := excel.CreateFile(selectCreateFormat(params))
 	if errorMsg.GetMsg() != "" {
 		w.Header().Set("Msg",errorMsg.GetMsg())
@@ -26,7 +24,7 @@ func Export(w http.ResponseWriter,req *http.Request)  {
 		return
 	}
 	if _, err := file.WriteTo(w); err != nil {
-		utilities.WriteLog("/api/controller/controller.go:28   返回二进制流失败!","ERROR")
+		utilities.WriteLog("/api/controller/controller.go:27   返回二进制流失败!","ERROR")
 		return
 	}
 }
@@ -52,7 +50,7 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 		var val base
 		err := json.Unmarshal([]byte(params["data"]),&val)
 		if err != nil {
-			utilities.WriteLog("/api/controller/controller.go:44  JSON解析失败!","ERROR")
+			utilities.WriteLog("/api/controller/controller.go:53  JSON解析失败!","ERROR")
 		}
 		row = val.ROW
 		list = val.LIST
@@ -99,7 +97,7 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 		}else{
 			err := json.Unmarshal([]byte(params["data"]), &data)
 			if err != nil {
-				utilities.WriteLog("/api/controller/controller.go:91   库存数据json解析失败!","ERROR")
+				utilities.WriteLog("/api/controller/controller.go:100   库存数据json解析失败!","ERROR")
 			}
 		}
 		row, list = InventoryFormat(data, true)
@@ -109,13 +107,10 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 		}else{
 			err := json.Unmarshal([]byte(params["data"]), &data)
 			if err != nil {
-				utilities.WriteLog("/api/controller/controller.go:101   全部库存数据json解析失败!","ERROR")
+				utilities.WriteLog("/api/controller/controller.go:110   全部库存数据json解析失败!","ERROR")
 			}
 		}
 		row, list = InventoryFormat(data, false)
-	case "inventoryDailyLog":
-		data = orm.GetMysqlData(params["sql"])
-		row, list = InventoryDailyLogFormat(data)
 	case "process":
 		data = orm.GetMysqlData(params["sql"])
 		row, list, mergeRow = ProcessFormat(data)
@@ -128,14 +123,14 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 	case "laborReport":
 		err := json.Unmarshal([]byte(params["data"]), &data)
 		if err != nil {
-			utilities.WriteLog("/api/controller/controller.go:120   临时工报表数据json解析失败!","ERROR")
+			utilities.WriteLog("/api/controller/controller.go:126   临时工报表数据json解析失败!","ERROR")
 		}
 		row, list = LaborReportFormat(data)
 	case "orderIssue":
 		sqlList := make(map[string]string)
 		err := json.Unmarshal([]byte(params["sqlList"]), &sqlList)
 		if err != nil {
-			utilities.WriteLog("/api/controller/controller.go:129   订单问题件数据json解析失败!","ERROR")
+			utilities.WriteLog("/api/controller/controller.go:133   订单问题件数据json解析失败!","ERROR")
 		}
 		if sqlList["orderPackageSql"] == "" || sqlList["secondOrderPackageSql"] == "" || sqlList["orderIssueSql"] == "" || sqlList["rejectedBillItemSql"] == "" || sqlList["logSql"] == ""{
 			return
@@ -191,18 +186,68 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
 		request := paramList{}
 		err := json.Unmarshal([]byte(params["data"]), &request)
 		if err != nil {
-			utilities.WriteLog("/api/controller/controller.go:183   称重统计数据json解析失败!","ERROR")
+			utilities.WriteLog("/api/controller/controller.go:189   称重统计数据json解析失败!","ERROR")
 		}
 		row, list = PackageStatisticFormat(request.ROW, request.LIST)
 	case "inventoryAccountMission":
 		err := json.Unmarshal([]byte(params["data"]), &data)
 		if err != nil {
-			utilities.WriteLog("/api/controller/controller.go:189   库存盘点数据json解析失败!","ERROR")
+			utilities.WriteLog("/api/controller/controller.go:195   库存盘点数据json解析失败!","ERROR")
 		}
 		row, list = InventoryAccountMissionFormat(data)
 	case "inventoryCompare":
 		data = orm.GetMysqlData(params["sql"])
 		row, list = InventoryCompareFormat(data)
+	case "unify":
+		var column []string
+		var rule map[string]string
+		err := json.Unmarshal([]byte(params["row"]), &row)
+		if err != nil {
+			utilities.WriteLog("/api/controller/controller.go:206   参数传递错误!","ERROR")
+		}
+		err = json.Unmarshal([]byte(params["column"]), &column)
+		if err != nil {
+			utilities.WriteLog("/api/controller/controller.go:210   参数传递错误!","ERROR")
+		}
+		err = json.Unmarshal([]byte(params["rule"]), &rule)
+		if params["connection"] == "oracle" {
+			data = orm.GetOracleData(params["sql"])
+		}else{
+			data = orm.GetMysqlData(params["sql"])
+		}
+		list = unifyFormat(data, column, rule)
 	}
 	return row,list,mergeRow,mergeColumn
 }
+
+func unifyFormat(data []map[string]string, row []string, rule map[string]string) [][]interface{}{
+	rowLen := len(row)
+	column :=  make(map[string]int,rowLen)
+	for i,c := range row {
+		column[c] = i
+	}
+
+	list := make([][]interface{},len(data))
+	for k,v := range data{
+		line := make([]interface{},rowLen)
+		for key,value := range column {
+			if rule[key] != ""{
+				line[value] = dataFormat(rule[key], v[key])
+				continue
+			}
+			line[value] = v[key]
+		}
+		list[k] = line
+	}
+	return list
+}
+
+func dataFormat(ruleType string,value string)string{
+	switch ruleType {
+		case "oracleDate":
+			value = utilities.DateFormat(value, "2006-01-02T15:04:05+08:00")
+		case "mysqlDate":
+			value = utilities.DateFormat(value,"2006-01-02T15:04:05Z")
+	}
+	return value
+}

+ 0 - 39
serves/excelExportGo/api/controller/inventoryController.go

@@ -23,37 +23,6 @@ func InventoryFormat(data []map[string]string, requestType bool) ([]interface{},
 	return row, list
 }
 
-func InventoryDailyLogFormat(data []map[string]string) ([]interface{}, [][]interface{})  {
-	row := []interface{}{
-		"货主","日期","商品名称","商品编码","商品条码","在库数量","长","宽","高","体积","总占用体积",
-	}
-	column := map[string]int{
-		"owner_name" : 0,
-		"created_at" : 1,
-		"commodity_name" : 2,
-		"commodity_sku" : 3,
-		"commodity_barcode_code" : 4,
-		"amount" : 5,
-		"commodity_length" : 6,
-		"commodity_width" : 7,
-		"commodity_height" : 8,
-		"commodity_volumn" : 9,
-		"volumn_occupied" : 10,
-	}
-	list := make([][]interface{},len(data))
-	for k,v := range data{
-		line := make([]interface{},len(row))
-		for key,value := range column {
-			if key == "created_at" {
-				line[value] = utilities.DateFormat(v[key],"2006-01-02T15:04:05Z")
-				continue
-			}
-			line[value] = v[key]
-		}
-		list[k] = line
-	}
-	return row, list
-}
 func InventoryAccountMissionFormat(data []map[string]string) ([]interface{}, [][]interface{})  {
 	row := []interface{}{
 		"库位","产品名","商品条码","商品编码","生产日期","失效日期","批号","盘点人","ERP属性仓","质量状态","库存数量",
@@ -83,14 +52,6 @@ func InventoryAccountMissionFormat(data []map[string]string) ([]interface{}, [][
 	for k,v := range data{
 		line := make([]interface{},len(row))
 		for key,value := range column {
-			if key == "produced_at"{
-				line[value] = utilities.DateFormat(v[key],"2006-01-02T15:04:05Z")
-				continue
-			}
-			if key == "valid_at"{
-				line[value] = utilities.DateFormat(v[key],"2006-01-02T15:04:05Z")
-				continue
-			}
 			line[value] = v[key]
 		}
 		list[k] = line