소스 검색

Merge branch 'master' into Haozi

haozi 5 년 전
부모
커밋
0887e4f134

+ 19 - 10
app/Http/Controllers/OrderIssueController.php

@@ -46,7 +46,7 @@ class OrderIssueController extends Controller
         $qualityLabel = QualityLabel::all();
         $logistics = Logistic::all();
         $userWorkgroup = UserWorkgroup::all();
-        return view('order.issue.index', compact('owners', 'orderIssues', 'orderIssueType', 'qualityLabel','userWorkgroup','logistics'));
+        return view('order/issue/index', compact('owners', 'orderIssues', 'orderIssueType', 'qualityLabel','userWorkgroup','logistics'));
     }
 
     public function create()
@@ -481,6 +481,14 @@ class OrderIssueController extends Controller
             return ['success'=>false,$e->getMessage()];
         }
     }
+
+    public function disposeImportApi(Request $request)
+    {
+        if(!Gate::allows('订单管理-问题件-编辑'))
+            return ['success'=>false,'fail_info'=>'没有对应权限'];
+        return app(OrderIssueService::class)->disposeImport($request->input('ids'));
+    }
+
     public function importPasteDataApi(Request $request)
     {
         if (!Gate::allows('订单管理-订单问题件生成'))
@@ -499,10 +507,14 @@ class OrderIssueController extends Controller
         /** @var OrderIssueService $service */
         $service =  app(OrderIssueService::class);
         foreach ($array as $i => $str) {
-            $string= preg_replace('/[\s,\,\,]+/','*++*',$str);
-            $items = explode('*++*',$string);
+//            $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);
             $head = '第'.($i+1).'行';
-            if(count($items)<count($rows)){
+            if(count($items)<count($rows)-1){
                 $errors[$head] = ['数据不完整'];
                 unset($items);
                 continue;
@@ -537,11 +549,9 @@ class OrderIssueController extends Controller
                     $map['result_explain'] = $items[$index];
                 }
                 if($row==='自定义订单号'){
-                    if(!$items[$index]){
-                        $errors[$head][]='自定义订单号为空';
-                        $map =[];
+                    if($items[$index]??false){
+                        $map['custom_code'] = $items[$index];
                     }
-                    $map['custom_code'] = $items[$index];
                 }
                 if($row==='问题类别'){
                     if(!$items[$index]){
@@ -563,12 +573,11 @@ class OrderIssueController extends Controller
 //        if(count($errors)>0)dd($errors);
         if(count($errors)>0) return ['success'=>false,'fail_info'=>$errors];
         try {
-
             foreach ($maps as $map) {
                 $logistic_number = $map['logistic_number'];
                 $result_explain = $map['result_explain'];
                 $type = $map['type'];
-                $custom_code = $map['custom_code'];
+                $custom_code = $map['custom_code'] ?? null;
                 $service->createOrderIssue($logistic_number, $type, $result_explain,'导入未处理',$custom_code);
             }
             return ['success'=>true];

+ 2 - 2
app/Http/Controllers/RejectedController.php

@@ -54,12 +54,12 @@ class RejectedController extends Controller
         /** @var RejectedService $application */
         $application = app('RejectedService');
         $rejectedBills= $application->paginate($request);
-        $issueIds = $application->返回有问题件的ID($request);
+//        $issueIds = $application->返回有问题件的ID($request);
         $owners = $ownerService->getSelection();
         $qualityLabels = $qualityLabelService->get();
         $logistics=$logisticService->getSelection();
         return view('rejected.search.general',compact('rejectedBills','owners','logistics',
-            'paginateParams','qualityLabels','issueIds'));
+            'paginateParams','qualityLabels'));
     }
     public function recycle(Request $request)
     {

+ 4 - 0
app/Http/Controllers/TestController.php

@@ -753,6 +753,10 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
     {
         dd(Request::all());
     }
+    public function relating()
+    {
+        dd(OrderIssue::query()->where('id',182)->paginate()->total());
+    }
 
     public function updateOrdersWarehouse()
     {

+ 5 - 5
app/OrderIssue.php

@@ -27,11 +27,11 @@ class OrderIssue extends Model
      */
     protected $appends = [
 //        'secondLogisticNumber',
-        'createLog',
-        'endLog',
-        'processingTime',
-        'createUser',
-        'endUser',
+//        'createLog',
+//        'endLog',
+//        'processingTime',
+//        'createUser',
+//        'endUser',
     ];
 
     public function order()

+ 3 - 2
app/Services/CacheService.php

@@ -8,13 +8,14 @@ use Illuminate\Support\Facades\Cache;
 
 class CacheService
 {
-    function getOrExecute(String $key, $func){
+    function getOrExecute(String $key, $func, $expiration=null){
         $results = Cache::get($key);
         if(!$results){
             if(!$func||gettype($func)!='object') throw new \Exception('执行函数类型错误');
             $results = $func();
             if(!$results)return null;
-            Cache::put($key, $results, config('cache.expirations.default'));
+            if(!$expiration) $expiration=config('cache.expirations.default');
+            Cache::put($key, $results, $expiration);
         }
         return $results;
     }

+ 173 - 142
app/Services/OrderIssueService.php

@@ -40,42 +40,42 @@ class OrderIssueService
         if ($condition['owner_id'] ?? false) {
             $owner_ids = explode(',', $condition['owner_id']);
         }
-        $query = OrderIssue::with(['top','userWorkGroup', 'issueType', 'logs' => function ($query) use($arr) {
+        $query = OrderIssue::with(['top', 'userWorkGroup', 'issueType', 'logs' => function ($query) use ($arr) {
             $query->with('user')->orderByDesc('created_at');
         }, 'order' => function ($query) {
-            $query->with(['shop', 'logistic', 'owner', 'packages.commodities.commodity'=>function($query){
+            $query->with(['shop', 'logistic', 'owner', 'packages.commodities.commodity' => function ($query) {
                 $query->with('barcodes');
             }]);
         }, 'rejectedBill' => function ($query) {
             $query->with(['items']);
         }, 'secondOrder' => function ($query) {
-            $query->with(['shop', 'logistic', 'owner', 'packages.commodities.commodity'=>function($query){
+            $query->with(['shop', 'logistic', 'owner', 'packages.commodities.commodity' => function ($query) {
                 $query->with('barcodes');
             }]);
         }])->whereHas('order.owner', function ($query) use ($owner_ids) {
             $query->whereIn('id', $owner_ids);
         });
-        if($arr['log_content'] ?? false){
-            $query->whereHas('logs',function($query) use ($arr){
-                $query->where('content','like',$arr['log_content']);
-                if($arr['addtime'] ?? false){
-                    $query->where('created_at','>=', Carbon::now()->subDays($arr['addtime']));
-                }else{
-                    $query->where('created_at','>=', Carbon::now()->subDays(31));
+        if ($arr['log_content'] ?? false) {
+            $query->whereHas('logs', function ($query) use ($arr) {
+                $query->where('content', 'like', $arr['log_content']);
+                if ($arr['addtime'] ?? false) {
+                    $query->where('created_at', '>=', Carbon::now()->subDays($arr['addtime']));
+                } else {
+                    $query->where('created_at', '>=', Carbon::now()->subDays(31));
                 }
             });
         }
-        if(isset($arr['is_imported'])){
-            $query->where('imported_status',$arr['is_imported']);
+        if (isset($arr['is_imported'])) {
+            $query->where('imported_status', $arr['is_imported']);
         }
 
-        if(isset($arr['is_new_rejecting'])){
-            $query->where('is_new_rejecting','=',$arr['is_new_rejecting']);
+        if (isset($arr['is_new_rejecting'])) {
+            $query->where('is_new_rejecting', '=', $arr['is_new_rejecting']);
         }
 
-        if(isset($arr['logistic_id'])){
-            $query->whereHas('order',function($query) use($arr){
-                $query->where('logistic_id',$arr['logistic_id']);
+        if (isset($arr['logistic_id'])) {
+            $query->whereHas('order', function ($query) use ($arr) {
+                $query->where('logistic_id', $arr['logistic_id']);
             });
         }
 
@@ -91,34 +91,34 @@ class OrderIssueService
     {
         $query->whereHas('order', function ($query) use ($arr) {
             if ($arr['client_code'] ?? false) {
-                return $this->searchWay($query,$arr['client_code'],'client_code');
+                return $this->searchWay($query, $arr['client_code'], 'client_code');
             }
             if ($arr['consignee_name'] ?? false) {
-                return $this->searchWay($query,$arr['consignee_name'],'consignee_name');
+                return $this->searchWay($query, $arr['consignee_name'], 'consignee_name');
             }
             if ($arr['consignee_phone'] ?? false) {
-                return $this->searchWay($query,$arr['consignee_phone'],'consignee_phone');
+                return $this->searchWay($query, $arr['consignee_phone'], 'consignee_phone');
             }
             if ($arr['logistic_number'] ?? false) {
                 $logistic_number = $arr['logistic_number'];
                 $query->whereHas('packages', function ($query) use ($logistic_number) {
-                    return $this->searchWay($query,$logistic_number,'logistic_number');
+                    return $this->searchWay($query, $logistic_number, 'logistic_number');
                 });
             }
             if (($arr['good_barcode'] ?? false) || ($arr['good_name'] ?? false)) {
                 $query->whereHas('packages.commodities.commodity', function ($query) use ($arr) {
                     if ($arr['good_barcode'] ?? false) {
-                        return $this->searchWay($query,$arr['good_barcode'],'sku');
+                        return $this->searchWay($query, $arr['good_barcode'], 'sku');
                     }
                     if ($arr['good_name'] ?? false) {
-                        $query->where('name','like', '%'.$arr['good_name'].'%');
+                        $query->where('name', 'like', '%' . $arr['good_name'] . '%');
                     }
                 });
             }
         });
         if ($arr['send_client_code'] ?? false) {
             $query->whereHas('secondOrder', function ($query) use ($arr) {
-                return $this->searchWay($query,$arr['send_client_code'], 'client_code');
+                return $this->searchWay($query, $arr['send_client_code'], 'client_code');
             });
         }
         return $query;
@@ -126,10 +126,10 @@ class OrderIssueService
 
     public function getRejectedBillQuery(array $arr, $query)
     {
-        if(  ($arr['logistic_number_return'] ?? false) || ($arr['id_quality_label'] ?? false)){
+        if (($arr['logistic_number_return'] ?? false) || ($arr['id_quality_label'] ?? false)) {
             $query->whereHas('rejectedBill', function ($query) use (&$arr) {
                 if ($arr['logistic_number_return'] ?? false) {
-                    return $this->searchWay($query,$arr['logistic_number_return'], 'logistic_number_return');
+                    return $this->searchWay($query, $arr['logistic_number_return'], 'logistic_number_return');
                 }
                 if ($arr['id_quality_label'] ?? false) {
                     $query->whereHas('items', function ($query) use ($arr) {
@@ -150,8 +150,8 @@ class OrderIssueService
         if (!isset($condition)) {
             $condition = $arr;
         }
-        if ($condition['id'] ?? false){
-            $query->whereIn('order_issues.id', explode(',',$condition['id']));
+        if ($condition['id'] ?? false) {
+            $query->whereIn('order_issues.id', explode(',', $condition['id']));
         }
         if (isset($condition['created_at_start'])) {
             $query->where('order_issues.created_at', '>=', $condition['created_at_start'] . " 00:00:00");
@@ -160,9 +160,9 @@ class OrderIssueService
             $query->where('order_issues.created_at', '<=', $condition['created_at_end'] . " 23:59:59");
         }
         if (isset($condition['final_status'])) {
-            if($condition['final_status'] == 'null'){
+            if ($condition['final_status'] == 'null') {
                 $query->whereNull('final_status');
-            }else{
+            } else {
                 $query->where('final_status', $condition['final_status']);
             }
         }
@@ -170,7 +170,7 @@ class OrderIssueService
             $query->where('order_issue_type_id', $condition['order_issue_type_id']);
         }
         if (!($condition['is_handle'] ?? false) && !($condition['final_status'] ?? false)) {
-            if(! (isset($condition['settlement_at_start']) || isset($condition['settlement_at_end']))){
+            if (!(isset($condition['settlement_at_start']) || isset($condition['settlement_at_end']))) {
                 $query->where(function ($query) {
                     $query->where('final_status', '<>', '已解决')->orWhereNull('final_status');
                 });
@@ -189,82 +189,86 @@ class OrderIssueService
             }
             $query->whereIn('order_issues.id', $orderIssuesId);
         }
-        if(isset($condition['settlement_at_start']) || isset($condition['settlement_at_end'])){
-            $query->whereHas('logs',function($query) use ($condition){
-                if(isset($condition['settlement_at_start'])){
-                    $query->where('created_at','>=',$condition['settlement_at_start'].' 00:00:00')->where('type','结束');
+        if (isset($condition['settlement_at_start']) || isset($condition['settlement_at_end'])) {
+            $query->whereHas('logs', function ($query) use ($condition) {
+                if (isset($condition['settlement_at_start'])) {
+                    $query->where('created_at', '>=', $condition['settlement_at_start'] . ' 00:00:00')->where('type', '结束');
                 }
-                if(isset($condition['settlement_at_end'])){
-                    $query->where('created_at','<=',$condition['settlement_at_start'].' 23:59:59')->where('type','结束');
+                if (isset($condition['settlement_at_end'])) {
+                    $query->where('created_at', '<=', $condition['settlement_at_start'] . ' 23:59:59')->where('type', '结束');
                 }
             });
         }
         return $query;
     }
 
-    private function isSearchLike($str){
-        if (substr($str,0,1) == "%" || substr($str,strlen($str)-1,1) == "%"){
+    private function isSearchLike($str)
+    {
+        if (substr($str, 0, 1) == "%" || substr($str, strlen($str) - 1, 1) == "%") {
             return true;
         }
         return false;
     }
-    private function searchWay($query, $param, $column){
-        if ($this->isSearchLike($param)){
-            $query->where($column,'like', $param);
-        }else{
-            $query->whereIn($column,array_filter(preg_split('/[,, ]+/is', $param)));
+
+    private function searchWay($query, $param, $column)
+    {
+        if ($this->isSearchLike($param)) {
+            $query->where($column, 'like', $param);
+        } else {
+            $query->whereIn($column, array_filter(preg_split('/[,, ]+/is', $param)));
         }
         return $query;
     }
 
-    public function getSqlList(array $params){
+    public function getSqlList(array $params)
+    {
         $orderPackageSql = OrderPackage::query()->selectRaw('order_packages.logistic_number order_package_logistic_number')
-            ->leftJoin('order_package_commodities','order_packages.id','order_package_commodities.order_package_id')
-                ->selectRaw('order_package_commodities.amount commodity_amount')
-            ->leftJoin('commodities','order_package_commodities.commodity_id','commodities.id')
-                ->selectRaw('commodities.name commodity_name,commodities.sku commodity_sku')
-            ->leftJoin('order_issues','order_packages.order_id','order_issues.order_id')
-                ->selectRaw('order_issues.id order_issue_id')
+            ->leftJoin('order_package_commodities', 'order_packages.id', 'order_package_commodities.order_package_id')
+            ->selectRaw('order_package_commodities.amount commodity_amount')
+            ->leftJoin('commodities', 'order_package_commodities.commodity_id', 'commodities.id')
+            ->selectRaw('commodities.name commodity_name,commodities.sku commodity_sku')
+            ->leftJoin('order_issues', 'order_packages.order_id', 'order_issues.order_id')
+            ->selectRaw('order_issues.id order_issue_id')
             ->sql();
-        $secondOrderPackageSql = Order::query()->from('order_packages','s_o_p')->selectRaw('s_o_p.logistic_number')
-            ->leftJoin('order_package_commodities as s_o_p_c','s_o_p_c.order_package_id','s_o_p.id')
-                ->selectRaw('s_o_p_c.amount s_o_p_c_amount')
-            ->leftJoin('commodities as s_c','s_o_p_c.commodity_id','s_c.id')
-                ->selectRaw('s_c.sku s_c_sku,s_c.name s_c_name')
-            ->leftJoin('order_issues','s_o_p.order_id','order_issues.second_order_id')
-                ->selectRaw('order_issues.id order_issue_id')
+        $secondOrderPackageSql = Order::query()->from('order_packages', 's_o_p')->selectRaw('s_o_p.logistic_number')
+            ->leftJoin('order_package_commodities as s_o_p_c', 's_o_p_c.order_package_id', 's_o_p.id')
+            ->selectRaw('s_o_p_c.amount s_o_p_c_amount')
+            ->leftJoin('commodities as s_c', 's_o_p_c.commodity_id', 's_c.id')
+            ->selectRaw('s_c.sku s_c_sku,s_c.name s_c_name')
+            ->leftJoin('order_issues', 's_o_p.order_id', 'order_issues.second_order_id')
+            ->selectRaw('order_issues.id order_issue_id')
             ->sql();
         $rejectedBillItemSql = RejectedBillItem::query()->selectRaw('rejected_bill_items.remark,rejected_bill_items.amount rejected_bill_amount,rejected_bill_items.name_goods,rejected_bill_items.barcode_goods')
-            ->leftJoin('order_issues','rejected_bill_items.id_rejected_bill','order_issues.rejected_bill_id')
-                ->selectRaw('order_issues.id order_issue_id')
+            ->leftJoin('order_issues', 'rejected_bill_items.id_rejected_bill', 'order_issues.rejected_bill_id')
+            ->selectRaw('order_issues.id order_issue_id')
             ->sql();
         $logSql = OrderIssueProcessLog::query()->selectRaw('order_issue_process_logs.content log_content,order_issue_process_logs.type log_type')
-            ->leftJoin('users','order_issue_process_logs.user_id','users.id')
-                ->selectRaw('users.name user_name')
-            ->leftJoin('order_issues','order_issue_process_logs.order_issue_id','order_issues.id')
-                ->selectRaw('order_issues.id order_issue_id')
+            ->leftJoin('users', 'order_issue_process_logs.user_id', 'users.id')
+            ->selectRaw('users.name user_name')
+            ->leftJoin('order_issues', 'order_issue_process_logs.order_issue_id', 'order_issues.id')
+            ->selectRaw('order_issues.id order_issue_id')
             ->sql();
         $column = "order_issues.id,order_issues.rejected_bill_id,order_issues.rejecting_status,order_issues.created_at order_issues_created_at,order_issues.result_explain,order_issues.final_status,";
         $column .= "order_issues.logistic_indemnity_money,order_issues.logistic_express_remission,order_issues.baoshi_indemnity_money,order_issues.baoshi_express_remission";
-        $orderIssueSql =  $this->getConditionQuery($params)->selectRaw($column)
-            ->leftJoin('order_issue_types','order_issues.order_issue_type_id','order_issue_types.id')
-                ->selectRaw('order_issue_types.`name` order_issue_type_name')
-            ->leftJoin('orders','order_issues.order_id','orders.id')
-                ->selectRaw('orders.id order_id,orders.address,orders.district,orders.city,orders.province,orders.consignee_phone,orders.consignee_name,orders.client_code,orders.created_at order_created_at')
-            ->leftJoin('logistics','logistics.id','orders.logistic_id')
-                ->selectRaw('logistics.name logistic_name')
-            ->leftJoin('owners','owners.id','orders.owner_id')
-                ->selectRaw('owners.name owner_name')
-            ->leftJoin('shops','orders.shop_id','shops.id')
-                ->selectRaw('shops.name shop_name')
-            ->leftJoin('orders as s_o','s_o.id','order_issues.second_order_id')
-                ->selectRaw('s_o.id s_o_id,s_o.client_code s_o_client_code')
-            ->leftJoin('logistics as s_logistics','s_o.logistic_id','s_logistics.id')
-                ->selectRaw('s_logistics.name s_logistics_name')
-            ->leftJoin('user_workgroups','user_workgroups.id','order_issues.user_workgroup_id')
-                ->selectRaw('user_workgroups.name user_workgroup_name')
+        $orderIssueSql = $this->getConditionQuery($params)->selectRaw($column)
+            ->leftJoin('order_issue_types', 'order_issues.order_issue_type_id', 'order_issue_types.id')
+            ->selectRaw('order_issue_types.`name` order_issue_type_name')
+            ->leftJoin('orders', 'order_issues.order_id', 'orders.id')
+            ->selectRaw('orders.id order_id,orders.address,orders.district,orders.city,orders.province,orders.consignee_phone,orders.consignee_name,orders.client_code,orders.created_at order_created_at')
+            ->leftJoin('logistics', 'logistics.id', 'orders.logistic_id')
+            ->selectRaw('logistics.name logistic_name')
+            ->leftJoin('owners', 'owners.id', 'orders.owner_id')
+            ->selectRaw('owners.name owner_name')
+            ->leftJoin('shops', 'orders.shop_id', 'shops.id')
+            ->selectRaw('shops.name shop_name')
+            ->leftJoin('orders as s_o', 's_o.id', 'order_issues.second_order_id')
+            ->selectRaw('s_o.id s_o_id,s_o.client_code s_o_client_code')
+            ->leftJoin('logistics as s_logistics', 's_o.logistic_id', 's_logistics.id')
+            ->selectRaw('s_logistics.name s_logistics_name')
+            ->leftJoin('user_workgroups', 'user_workgroups.id', 'order_issues.user_workgroup_id')
+            ->selectRaw('user_workgroups.name user_workgroup_name')
             ->sql();
-        return compact('orderPackageSql','secondOrderPackageSql','orderIssueSql','rejectedBillItemSql','logSql');
+        return compact('orderPackageSql', 'secondOrderPackageSql', 'orderIssueSql', 'rejectedBillItemSql', 'logSql');
     }
 
     public function paginate(array $params)
@@ -275,16 +279,16 @@ class OrderIssueService
     public function orderIssueTag(array $params)
     {
         $orderNos = $params['orderNos'];
-        $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])->whereIn('orderNo',$orderNos)->get();
-        $bool = $this->createOrderIssueByWmsOrder($orderHeaders,$params['typeId'],$params['result_explain']);
-        if($bool){
-            return ['success'=>$bool];
-        }else{
-            return ['success'=>$bool,'fail_info'=>'问题件创建失败'];
+        $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails', 'oracleBASCode'])->whereIn('orderNo', $orderNos)->get();
+        $bool = $this->createOrderIssueByWmsOrder($orderHeaders, $params['typeId'], $params['result_explain']);
+        if ($bool) {
+            return ['success' => $bool];
+        } else {
+            return ['success' => $bool, 'fail_info' => '问题件创建失败'];
         }
     }
 
-    public function createOrderIssueByWmsOrder($orderHeaders,$order_issue_type_id,$result_explain,$imported_status='正常',$custom_code=null)
+    public function createOrderIssueByWmsOrder($orderHeaders, $order_issue_type_id, $result_explain, $imported_status = '正常', $custom_code = null)
     {
         /** @var OrderService $orderService */
         $orderService = app(OrderService::class);
@@ -292,27 +296,27 @@ class OrderIssueService
         $innerParams = [];
         foreach ($orders as $order) {
             $innerParams[] = [
-                'order_id'=>$order->id,
+                'order_id' => $order->id,
                 'order_issue_type_id' => $order_issue_type_id,
-                'result_explain'=>$result_explain,
-                'imported_status'=>$imported_status,
-                'custom_code'=>$custom_code
+                'result_explain' => $result_explain,
+                'imported_status' => $imported_status,
+                'custom_code' => $custom_code
             ];
         }
         try {
             $this->insert($innerParams);
-            $ordersIssues = OrderIssue::query()->whereIn('order_id',data_get($innerParams,'*.order_id'))->get();
+            $ordersIssues = OrderIssue::query()->whereIn('order_id', data_get($innerParams, '*.order_id'))->get();
             $param = [
-                'ids' => data_get($ordersIssues,'*.id'),
-                'content' =>'',
+                'ids' => data_get($ordersIssues, '*.id'),
+                'content' => '',
                 'user_id' => Auth::user()['id'],
                 'type' => '创建'
             ];
             app(OrderIssueProcessLogService::class)->create($param);
-            LogService::log(__METHOD__,__FUNCTION__,'创建问题件'.count($innerParams).json_encode($innerParams));
+            LogService::log(__METHOD__, __FUNCTION__, '创建问题件' . count($innerParams) . json_encode($innerParams));
             return true;
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'创建问题件 error'.count($innerParams).json_encode($innerParams).$e->getMessage().$e->getTraceAsString());
+            LogService::log(__METHOD__, __FUNCTION__, '创建问题件 error' . count($innerParams) . json_encode($innerParams) . $e->getMessage() . $e->getTraceAsString());
             return false;
         }
     }
@@ -331,16 +335,16 @@ class OrderIssueService
         /** @var OrderService $orderService */
         $orderService = app('OrderService');
         $orderHeader = OracleDOCOrderHeader::query()->where('SOReference1', $clientCode)->first();
-        if ($orderHeader=== null) {
+        if ($orderHeader === null) {
             return null;
         }
         $order = $orderService->findOrCreateByClientCode($clientCode);
         $rejectedBill = RejectedBill::query()->where('order_number', $orderHeader['soreference1'])->first();
-        if($rejectedBill === null){
-           $asnHeader =  OracleDOCASNHeader::query()->where('ASNReference2', $orderHeader['soreference1'])->first();
-           if($asnHeader['asnreference3'] ?? false){
-               $rejectedBill = RejectedBill::query()->where('logistic_number_return',$asnHeader['asnreference3'])->first();
-           }
+        if ($rejectedBill === null) {
+            $asnHeader = OracleDOCASNHeader::query()->where('ASNReference2', $orderHeader['soreference1'])->first();
+            if ($asnHeader['asnreference3'] ?? false) {
+                $rejectedBill = RejectedBill::query()->where('logistic_number_return', $asnHeader['asnreference3'])->first();
+            }
         }
         $arr = [
             'order_id' => $order['id'],
@@ -351,11 +355,11 @@ class OrderIssueService
             $orderIssue = OrderIssue::query()->create($arr);
             $orderIssue->同步退单状态();
             $orderIssue->order = $order;
-            LogService::log(__METHOD__,__FUNCTION__,'创建问题件'.json_encode($orderIssue));
+            LogService::log(__METHOD__, __FUNCTION__, '创建问题件' . json_encode($orderIssue));
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'创建问题件error'.json_encode($arr).$e->getMessage().$e->getTraceAsString());
+            LogService::log(__METHOD__, __FUNCTION__, '创建问题件error' . json_encode($arr) . $e->getMessage() . $e->getTraceAsString());
         } finally {
-            unset($orderHeader,$rejectedBill,$order);
+            unset($orderHeader, $rejectedBill, $order);
             return $orderIssue;
         }
     }
@@ -414,51 +418,53 @@ class OrderIssueService
         return $orderIssue;
     }
 
-    public function batchDestroy($ids){
+    public function batchDestroy($ids)
+    {
         try {
             $bool = OrderIssue::query()->whereIn('id', $ids)->delete();
-            LogService::log(__METHOD__,__FUNCTION__,json_encode($ids));
-            return ['success'=>$bool];
+            LogService::log(__METHOD__, __FUNCTION__, json_encode($ids));
+            return ['success' => $bool];
         } catch (\Exception $e) {
-            LogService::log(__METHOD__,__FUNCTION__,'error'.json_decode($ids).'||'.$e->getMessage().'||'.$e->getTraceAsString());
+            LogService::log(__METHOD__, __FUNCTION__, 'error' . json_decode($ids) . '||' . $e->getMessage() . '||' . $e->getTraceAsString());
             return ['success' => false];
         }
     }
 
     public function endOrderIssues(array $ids)
     {
-        return OrderIssue::query()->whereIn('id',$ids)->update(['final_status'=>'已解决']);
+        return OrderIssue::query()->whereIn('id', $ids)->update(['final_status' => '已解决']);
     }
 
-    public function isExistOrderIssueTypeIsEnd($ids){
-        return OrderIssue::query()->whereIn('id',$ids)->where('final_status','已解决')->count() > 0;
+    public function isExistOrderIssueTypeIsEnd($ids)
+    {
+        return OrderIssue::query()->whereIn('id', $ids)->where('final_status', '已解决')->count() > 0;
     }
 
-    public function editOrderIssueSecondClientNo($id,$secondClientNo,&$order = null)
+    public function editOrderIssueSecondClientNo($id, $secondClientNo, &$order = null)
     {
-        $order = Order::query()->where('client_code',$secondClientNo)->first();
-        if(!$order){
+        $order = Order::query()->where('client_code', $secondClientNo)->first();
+        if (!$order) {
             /** @var OrderService $orderService */
             $orderService = app(OrderService::class);
-            $orderHeaders = OracleDOCOrderHeader::query()->where('SoReference1',$secondClientNo)->get();
-            $orders =  $orderService->createByWmsOrder($orderHeaders);
-            if($orders->count()>0)$order =$orders->first();
+            $orderHeaders = OracleDOCOrderHeader::query()->where('SoReference1', $secondClientNo)->get();
+            $orders = $orderService->createByWmsOrder($orderHeaders);
+            if ($orders->count() > 0) $order = $orders->first();
         }
-        return OrderIssue::query()->where('id',$id)->update(['second_client_no'=>$secondClientNo]) > 0;
+        return OrderIssue::query()->where('id', $id)->update(['second_client_no' => $secondClientNo]) > 0;
     }
 
-    public function updateSecondLogisticNumber($id,$logisticNumber)
+    public function updateSecondLogisticNumber($id, $logisticNumber)
     {
-        $orderIssue = OrderIssue::query()->where('id',$id)->first();
+        $orderIssue = OrderIssue::query()->where('id', $id)->first();
         $order = app(OrderService::class)->getOrderByLogisticNumber($logisticNumber);
-        if(!$order){
+        if (!$order) {
             $orderIssue->update(['second_logistic_number' => $logisticNumber]);
-            return ['success'=>true,'second_logistic_number' => $logisticNumber];
+            return ['success' => true, 'second_logistic_number' => $logisticNumber];
         }
         $orderIssue->update(['second_client_no' => $order->client_code]);
-        $order = Order::query()->with(['packages.commodities.commodity','logistic'])
-            ->where('id',$order->id)->first();
-        return ['success' => true,'order' =>$order];
+        $order = Order::query()->with(['packages.commodities.commodity', 'logistic'])
+            ->where('id', $order->id)->first();
+        return ['success' => true, 'order' => $order];
     }
 
     /**
@@ -466,14 +472,14 @@ class OrderIssueService
      * @param string $type
      * @param string $result_explain
      */
-    public function createOrderIssue($logisticNumber,$type,$result_explain,$importedStatus='正常',$custom_code=null)
+    public function createOrderIssue($logisticNumber, $type, $result_explain, $importedStatus = '正常', $custom_code = null)
     {
-        $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
-            ->whereHas('actAllocationDetails',function($query)use($logisticNumber){
-                $query->where('picktotraceid',$logisticNumber);
+        $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails', 'oracleBASCode'])
+            ->whereHas('actAllocationDetails', function ($query) use ($logisticNumber) {
+                $query->where('picktotraceid', $logisticNumber);
             })->get();
-        $orderIssueType = OrderIssueType::query()->where('name',$type)->first();
-        return $this->createOrderIssueByWmsOrder($orderHeaders,$orderIssueType->id,$result_explain,$importedStatus,$custom_code);
+        $orderIssueType = OrderIssueType::query()->where('name', $type)->first();
+        return $this->createOrderIssueByWmsOrder($orderHeaders, $orderIssueType->id, $result_explain, $importedStatus, $custom_code);
     }
 
     /**
@@ -482,11 +488,11 @@ class OrderIssueService
      */
     public function 校验问题件是否存在_快递单号_返回存在的快递单号($logisticNumbers)
     {
-        $orderIssues = OrderIssue::query()->with('order.packages')->whereHas('order.packages',function($query)use($logisticNumbers){
-            $query->whereIn('logistic_number',$logisticNumbers);
+        $orderIssues = OrderIssue::query()->with('order.packages')->whereHas('order.packages', function ($query) use ($logisticNumbers) {
+            $query->whereIn('logistic_number', $logisticNumbers);
         })->get();
-        $exits_logistic_number = array_diff(array_unique(data_get($orderIssues,'*.order.packages.*.logistic_number')),['',null]);
-        return array_intersect($exits_logistic_number,$logisticNumbers);
+        $exits_logistic_number = array_diff(array_unique(data_get($orderIssues, '*.order.packages.*.logistic_number')), ['', null]);
+        return array_intersect($exits_logistic_number, $logisticNumbers);
     }
 
     /**
@@ -495,11 +501,36 @@ class OrderIssueService
      */
     public function 校验问题件是否存在_WMS订单号_返回存在的订单号($orderNos)
     {
-        $orderIssues = OrderIssue::query()->with('order')->whereHas('order',function($query)use($orderNos){
-            $query->whereIn('code',$orderNos);
+        $orderIssues = OrderIssue::query()->with('order')->whereHas('order', function ($query) use ($orderNos) {
+            $query->whereIn('code', $orderNos);
         })->get();
-        $exits_logistic_number = array_diff(array_unique(data_get($orderIssues,'*.order.code')),['',null]);
-        return array_intersect($exits_logistic_number,$orderNos);
+        $exits_logistic_number = array_diff(array_unique(data_get($orderIssues, '*.order.code')), ['', null]);
+        return array_intersect($exits_logistic_number, $orderNos);
     }
 
+    /**
+     * 导入处理字段
+     * @param array $ids
+     * @return array|bool[]
+     */
+    public function disposeImport(array $ids)
+    {
+        $orderIssues = OrderIssue::query()->with('order')->whereIn('id', $ids)->get();
+        if ($orderIssues->count()<count($ids)) {
+            $is_exits_ids = array_diff($ids, data_get($orderIssues, '*.code'));
+            return ['success' => false, 'fail_info' => json_encode($is_exits_ids) . '没有存在对应的问题件'];
+        }
+        if ($orderIssues->where('imported_status', '导入已梳理')->count() > 0) {
+             $is_dispose_orderNos = data_get($orderIssues->where('imported_status', '导入已梳理'), '*.order.code');
+            return ['success' => false, 'fail_info' => json_encode($is_dispose_orderNos) . '导入已处理'];
+        }
+        try {
+            OrderIssue::query()->whereIn('id', $ids)->update(['imported_status' => '导入已梳理']);
+            LogService::log(__METHOD__,__FUNCTION__,'导入处理 '.json_encode($ids).'导入处理');
+            return ['success' => true];
+        } catch (\Exception $e) {
+            LogService::log(__METHOD__,__FUNCTION__,'导入处理 error'.json_encode($e->getMessage()).$e->getTraceAsString());
+            return ['success' => false,'fail_info'=>$e->getMessage()];
+        }
+    }
 }

+ 1 - 1
app/Services/OrderIssueWorkLoadService.php

@@ -84,7 +84,7 @@ class OrderIssueWorkLoadService
     }
 
     public function getOwners(){
-        $owner_ids = app('UserService')->getPermittingOwnerIds($user)??[];
+        $owner_ids = app('UserService')->getPermittingOwnerIds(auth()->user())??[];
         return Owner::whereIn('id', $owner_ids)->get();
     }
 

+ 24 - 12
app/Services/OwnerService.php

@@ -9,17 +9,27 @@ use Illuminate\Support\Facades\Auth;
 
 Class OwnerService
 {
+    /** @var CacheService $cacheService */
+    private $cacheService;
+    function __construct(){
+        $this->cacheService=app('CacheService');
+    }
     /*
      * array | string $column
      * 默认一些select字段,可传递string 或 array来指定select字段
      */
     public function getSelection($column = ['id', 'name'])
     {
-        return Owner::filterAuthorities()->select($column)->get();
+        return $this->cacheService->getOrExecute('OwnersAll_IdName',function()use($column){
+            return Owner::filterAuthorities()->select($column)->get();
+        },config('cache.expirations.owners'));
+
     }
     public function getSelectionId($column = ['id'])
     {
-        return Owner::filterAuthorities()->select($column)->get();
+        return $this->cacheService->getOrExecute('OwnersAll_Id',function()use($column){
+            return Owner::filterAuthorities()->select($column)->get();
+        },config('cache.expirations.owners'));
     }
     /**
      *同步WMS全部货主至WAS
@@ -55,18 +65,20 @@ Class OwnerService
     }
 
     public function first(array $params, array $rules =[]){
-        $owner = Owner::query();
-        foreach ($params as $column => $value){
-            if (!isset($rules[$column]))$owner->where($column, $value);
-            else{
-                switch ($rules[$column]){
-                    case "or":
-                        $owner->orWhere($column, $value);
-                        break;
+        return $this->cacheService->getOrExecute('OwnersFirst'.md5(json_encode($params)),function()use($params,$rules){
+            $owner = Owner::query();
+            foreach ($params as $column => $value){
+                if (!isset($rules[$column]))$owner->where($column, $value);
+                else{
+                    switch ($rules[$column]){
+                        case "or":
+                            $owner->orWhere($column, $value);
+                            break;
+                    }
                 }
             }
-        }
-        return $owner->first();
+            return $owner->first();
+        },config('cache.expirations.rarelyChange'));
     }
 
     public function create(array $params){

+ 1 - 1
app/Services/RejectedService.php

@@ -21,7 +21,7 @@ class RejectedService
     private function conditionQuery(array $param)
     {
         $user = Auth::user();
-        $rejectedBills = RejectedBill::query()->with('user','owner', 'logistic', 'items.quality')->orderBy('rejected_bills.id', 'desc')->whereIn('rejected_bills.id_owner',
+        $rejectedBills = RejectedBill::query()->with('user','owner', 'logistic', 'items.quality','orderIssue:logistic_number_return')->orderBy('rejected_bills.id', 'desc')->whereIn('rejected_bills.id_owner',
             $user ? app('UserService')->getPermittingOwnerIds($user) : []);
         $columnQueryRules = [
             'created_at_start' => ['alias' => 'created_at', 'startDate' => ' 00:00:00'],

+ 1 - 1
app/Services/UserService.php

@@ -26,7 +26,7 @@ class UserService
     }
     function getPermittingOwnerIds($user){
         return $this->cacheService->getOrExecute("user{$user['id']}->getPermittingOwnerIds",function()use($user){
-            return $user->getPermittingOwnerIdsAttribute();
+            return $user->getPermittingOwnerIdsAttribute() ?? [];
         });
     }
 }

+ 2 - 0
config/cache.php

@@ -6,6 +6,8 @@ return [
 
     'expirations'=>[
         'default'=>10,
+        'rarelyChange'=>60,
+        'owners'=>20,
     ],
     /*
     |--------------------------------------------------------------------------

+ 4 - 4
public/t.php

@@ -1,6 +1,6 @@
 <?php
 
-$a=function(){
-
-};
-echo gettype($a);
+$res=array();
+$str="你好aaaaa啊";
+preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$str,$res);
+var_dump($res);

+ 6 - 1
resources/views/order/issue/import.blade.php

@@ -23,7 +23,7 @@
                     <div class="form-group row text-center">
                         <div class="col-12 text-danger">
                             订单问题类别:同Excel文件导入所要求的订单问题类别一致<br/>
-                            注意:文本导入的问题件只有全部符合条件的才能生成问题件<br/>
+                            注意:文本导入的问题件只有全部符合条件的才能生成问题件,自定义订单号可不填<br/>
                             <span class="text-muted" style="opacity:0.7">
                                 如果在导入后出现部分数据导入失败,修改对应错误的数据继续导入即可
                             </span>
@@ -131,7 +131,11 @@
                     }
                     let _this = this
                     let data = {rows:this.rows,pasteDataText:this.pasteDataText}
+                    tempTip.setDuration(99999)
+                    tempTip.setIndex(1051)
+                    tempTip.waitingTip('正在执行中,请稍后')
                     axios.post('{{url('apiLocal/order/issue/importPasteData')}}',data).then(function (response) {
+                        tempTip.cancelWaitingTip()
                         if(response.data.success){
                             $('#pasteData').modal('hide')
                             tempTip.setDuration(2000)
@@ -147,6 +151,7 @@
                             },1);
                         }
                     }).catch(function(error){
+                        tempTip.cancelWaitingTip()
                         tempTip.setDuration(2000)
                         tempTip.show('导入失败'+error)
                     })

+ 44 - 7
resources/views/order/issue/index.blade.php

@@ -25,7 +25,8 @@
                             完结
                         </button>
                     </span>
-                    @endcannot @can('订单管理-问题件-删除')
+                    @endcannot
+                    @can('订单管理-问题件-删除')
                         <span class="ml-1">
                         <button type="button" class="btn btn-outline-dark btn-sm form-control-sm  tooltipTarget" @click="batchDeleteOrderIssue">
                             删除
@@ -44,6 +45,12 @@
                             复制快递单号
                         </button>
                     </span>
+                    <span class="ml-1">
+                        <button type="button" class="btn btn-outline-dark btn-sm form-control-sm  tooltipTarget" @click="importdispose">
+                            导入处理
+                        </button>
+                    </span>
+
                 </div>
                 <table class="table table-sm table-striped table-bordered table-hover card-body p-0 m-0" style="background: #fff;@cannot('订单管理-问题件-客户不可见')min-width: 3000px;@else min-width: 1990px; @endcannot">
                     <tr class="tr-yellow" align="center" >
@@ -323,7 +330,7 @@
                                 <textarea class="form-control form-control-sm"  @change="updateOrderIssue(orderIssue,'result_explain',$event)"
                                           data-toggle="tooltip" data-placement="bottom" :title="orderIssue.result_explain"
                                           :cols="orderIssue.result_explain==null?'': (orderIssue.result_explain.length>10?10:orderIssue.result_explain.length)"
-                                          :rows="orderIssue.result_explain==null?'': (orderIssue.result_explain.length>10?(Math.ceil(orderIssue.result_explain.length)/10):1)"
+                                          :rows="orderIssue.result_explain==null?2: (orderIssue.result_explain.length>10?(Math.ceil(orderIssue.result_explain.length)/10)+1:2)"
                                 >@{{ orderIssue.result_explain }}</textarea>
                             @else
                                 @{{ orderIssue.result_explain}}
@@ -723,9 +730,9 @@
                     {name: '已解决', value: '已解决'},
                     {name: '待退回', value: '待退回'},
                     {name: '退回中', value: '退回中'}];
-                let imported_status = [{name:'导入未处理',value:'导入未处理'},{name:'导入已理',value:'导入已处理'}]
+                let imported_status = [{name:'导入未处理',value:'导入未处理'},{name:'导入已理',value:'导入已处理'}]
                 let data = [[
-                    {name: 'created_at_start', type: 'dateTime', tip: '订单开始日期'},
+                    {name: 'created_at_start', type: 'dateTime', tip: '登记开始日期'},
                     {
                         name: 'owner_id',
                         type: 'select_multiple_select',
@@ -746,7 +753,7 @@
                     {name: 'send_client_code', type: 'input', tip: '二次订单号:前或后加百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '二次订单号'},
 
                 ], [
-                    {name: 'created_at_end', type: 'dateTime', tip: '订单结束日期'},
+                    {name: 'created_at_end', type: 'dateTime', tip: '登记结束日期'},
                     {name: 'consignee_name', type: 'input', tip: '收货人名称:前或后加百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '收货人名称'},
                     {name: 'consignee_phone', type: 'input', tip: '收货人电话:前或后加百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '收货人电话'},
                     {name: 'good_barcode', type: 'input', tip: '条码:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '条码'},
@@ -1218,7 +1225,7 @@
                 updateOrderIssue(orderIssue,column,e){
                     let value = $(e.target).val()
                     if(column==='imported_status'){
-                        value = '导入已理'
+                        value = '导入已理'
                     }
                     if(column === 'final_status' && value === '已解决'){
                         this.endOrderIssueById(orderIssue['id'])
@@ -1406,7 +1413,37 @@
                         tempTip.show('添加失败'+error)
                     });
                 },
-
+                importdispose(){
+                    let _this= this
+                    if(this.checkData.length === 0){
+                        tempTip.setDuration(2000)
+                        tempTip.show('没有勾选内容')
+                        return;
+                    }
+                    if(!confirm('是否对当前导入进行处理'))return;
+                    let data = {ids:this.checkData};
+                    tempTip.setDuration(9999)
+                    tempTip.setIndex(2000)
+                    tempTip.waitingTip('正在处理,请等待')
+                    axios.post('{{url('apiLocal/order/issue/disposeImport')}}',data).then(function(response){
+                        tempTip.cancelWaitingTip()
+                        if(response.data.success){
+                            tempTip.setDuration(2000)
+                            tempTip.showSuccess('处理导入成功')
+                            _this.orderIssues.forEach(function(item){
+                                if(_this.checkData.includes(item.id)){
+                                    item.imported_status='导入已处理'
+                                }
+                            })
+                        }else{
+                            tempTip.setDuration(2000)
+                            tempTip.show(response.data.fail_info)
+                        }
+                    }).catch(function(error){
+                        tempTip.setDuration(2000)
+                        tempTip.show('处理导入出现异常'+error)
+                    })
+                }
             }
         })
         // modal 隐藏时修改 input 为空

+ 7 - 7
resources/views/order/issue/workload.blade.php

@@ -81,7 +81,7 @@
         let workLoadVue = new Vue({
             el: "#workLoad_div",
             data: {
-                workLoads: {!! $workLoads->toJson() !!}['data'],
+                workLoads: {!! $workLoads->append(['createUser','endUser','processingTime',])->toJson()??[] !!},
                 users:{!! $users->toJson() !!},
                 owners:{!! $owners->toJson() !!},
                 checkData: [],
@@ -95,17 +95,17 @@
                     order_issue_id: '{{$options['order_issue_id']}}',
                 },
                 page: {
-                    lastPage: {!! $workLoads->toJson() !!}['last_page'],
-                    curPage: {!!  $workLoads->toJson() !!}['current_page'],
-                    total: {!!  $workLoads->toJson() !!}['total'],
-                    nextPageUrl: {!!  $workLoads->toJson() !!}['next_page_url'],
-                    prevPageUrl: {!! $workLoads->toJson()  !!}['prev_page_url'],
-                    lastPageUrl: {!!  $workLoads->toJson() !!}['last_page_url'],
+                    lastPage: '{!! $workLoads->lastPage() !!}',
+                    curPage: '{!! $workLoads->currentPage() !!}',
+                    total: '{!! $workLoads->total() !!}',
+                    nextPageUrl: '{!! $workLoads->nextPageUrl() !!}',
+                    prevPageUrl: '{!! $workLoads->previousPageUrl() !!}',
                 },
                 isBtn:[],
                 form:'',
             },
             mounted: function () {
+
                 $('#workLoad_div').removeClass('d-none');
                 let users = [];
                 let owners = [];

+ 3 - 2
resources/views/rejected/search/general.blade.php

@@ -67,7 +67,8 @@
                             <input type="checkbox" v-model="rejectedBills_checkBoxes" :value="rejectedBill.id"/>
                         </td>
                         <td class="text-nowrap">
-                            <span class="text-muted" style="opacity:0.7">@{{ i+1 }}</span> <span v-if="issueIds.includes(rejectedBill.id)" class="badge badge-pill badge-danger">问题件</span>
+{{--                            <span class="text-muted" style="opacity:0.7">@{{ i+1 }}</span> <span v-if="issueIds.includes(rejectedBill.id)" class="badge badge-pill badge-danger">问题件</span>--}}
+                            <span class="text-muted" style="opacity:0.7">@{{ i+1 }}</span> <span v-if="rejectedBill.order_issue" class="badge badge-pill badge-danger">问题件</span>
                         </td>
                         <td class="text-muted">
                             <span v-if="rejectedBill.is_checked==1" class="text-success">
@@ -197,7 +198,7 @@
                     {name:'{{$owner->id}}',value:'{{$owner->name}}'},
                     @endforeach
                 ],
-                issueIds:{!! $issueIds !!},
+                {{--issueIds:{!! $issueIds !!},--}}
                 logistics:[
                         @foreach($logistics as $logistic)
                     {name:'{{$logistic->id}}',value:'{{$logistic->name}}'},

+ 1 - 0
routes/apiLocal.php

@@ -51,6 +51,7 @@ Route::group(['prefix' => 'order'], function () {
         Route::post('endOrderIssues','OrderIssueController@endOrderIssuesApi');
         Route::post('editSecondLogisticNumber','OrderIssueController@editSecondLogisticNumberApi');
         Route::post('importPasteData','OrderIssueController@importPasteDataApi');
+        Route::match(['get','post'],'disposeImport','OrderIssueController@disposeImportApi');
 
          Route::group(['prefix'=>'onTop'],function(){
             Route::post('/store', 'OrderIssueOnTopController@apiStore');

+ 1 - 9
tests/Services/CacheService/GetOrExecuteTest.php → tests/CacheService/GetOrExecuteTest/GetOrExecuteTest.php

@@ -1,18 +1,10 @@
 <?php
 
-namespace Tests\Unit;
+namespace Tests\CacheService\GetOrExecuteTest;
 
-use App\Authority;
-use App\Carrier;
-use App\Role;
 use App\Services\CacheService;
-use App\User;
 use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\DB;
-use Ramsey\Uuid\Uuid;
 use Tests\TestCase;
-use Illuminate\Foundation\Testing\WithFaker;
-use Illuminate\Foundation\Testing\RefreshDatabase;
 
 class GetOrExecuteTest extends TestCase
 {

+ 1 - 0
文档/WAS项目规范.md

@@ -78,6 +78,7 @@
 
 ##GIT
 	每个需求描述完成时,要执行一个Commit并在描述中阐明。
+	每个需求修改提交一个commit
 ##测试
     每个Service方法均需写一个对应的测试
     每个Service在Tests,Services文夹下,建立对应对名文件夹,一个方法对应一个测试文件