cqpCow 1 jaar geleden
bovenliggende
commit
1bc52b33c9

+ 19 - 0
app/Service/CustomerService.php

@@ -7,6 +7,7 @@ use App\Model\Customer;
 use App\Model\CustomerInfo;
 use App\Model\Depart;
 use App\Model\Employee;
+use App\Model\FollowUpRecord;
 use App\Model\Product;
 use App\Model\SeeRange;
 use Illuminate\Support\Facades\DB;
@@ -629,6 +630,21 @@ class CustomerService extends Service
             ->pluck('title','id')
             ->toArray();
 
+        //跟进记录
+        $record = FollowUpRecord::where('del_time',0)
+            ->where('type',FollowUpRecord::type_one)
+            ->whereIn('data_id',array_column($data['data'],'id'))
+            ->select('data_id',DB::raw('max(visit_time) as visit_time'))
+            ->groupBy('data_id')
+            ->pluck('visit_time','data_id')->toArray();
+        $record_array = [];
+        if(! empty($record)){
+            $now = time();
+            foreach ($record as $key => $value){
+                $record_array[$key] = $this->showTimeAgo($value, $now);
+            }
+        }
+
         $customer_info_map = [];
         if(! empty($ergs['customer_detail'])){
             $customer_info = CustomerInfo::where('del_time',0)
@@ -684,6 +700,9 @@ class CustomerService extends Service
             $data['data'][$key]['crt_name'] = $emp[$value['crt_id']] ?? '';
             $data['data'][$key]['customer_detail'] = $customer_info_map[$value['id']] ?? [];
             $data['data'][$key]['fz'] = $fz[$value['id']] ?? [];
+            $record_tmp = $record_array[$value['id']] ?? "";
+            $data['data'][$key]['has_record'] = $record_tmp ? "查看" : "无记录";
+            $data['data'][$key]['follow_record'] = $record_array[$value['id']] ?? "";
         }
 
         return $data;

+ 20 - 0
app/Service/PaymentReceiptService.php

@@ -98,6 +98,16 @@ class PaymentReceiptService extends Service
 
         $this->delStorageFile($old, $new);
 
+        if(! empty($data['check'])) {
+            list($status,$msg) = (new CheckService())->checkAll([
+                "id" => $data['id'],
+                "order_number" => $data['order_number'],
+                "opt_case" => CheckService::ten,
+                "menu_id" => $data['menu_id']
+            ],$user);
+            if(! $status) return [true, '保存成功,收付款确认失败,异常信息:' . $msg];
+        }
+
         return [true,''];
     }
 
@@ -170,6 +180,16 @@ class PaymentReceiptService extends Service
             return [false,$exception->getMessage()];
         }
 
+        if(! empty($data['check'])) {
+            list($status,$msg) = (new CheckService())->checkAll([
+                "id" => $model->id,
+                "order_number" => $data['order_number'],
+                "opt_case" => CheckService::ten,
+                "menu_id" => $data['menu_id']
+            ],$user);
+            if(! $status) return [true, '保存成功,收付款确认失败,异常信息:' . $msg];
+        }
+
         return [true,''];
     }
 

+ 2 - 2
app/Service/SalesOrderService.php

@@ -206,7 +206,7 @@ class SalesOrderService extends Service
                 "opt_case" => CheckService::eight,
                 "menu_id" => $data['menu_id']
             ],$user);
-            if(! $status) return [false, '保存成功,合同确认失败,异常信息:' . $msg];
+            if(! $status) return [true, '保存成功,合同确认失败,异常信息:' . $msg];
         }
 
         return [true,''];
@@ -354,7 +354,7 @@ class SalesOrderService extends Service
                 "opt_case" => CheckService::eight,
                 "menu_id" => $data['menu_id']
             ],$user);
-            if(! $status) return [false, '保存成功,合同确认失败,异常信息:' . $msg];
+            if(! $status) return [true, '保存成功,合同确认失败,异常信息:' . $msg];
         }
 
         (new OperationLogService())->setOperationList($data,$user);

+ 33 - 0
app/Service/Service.php

@@ -475,4 +475,37 @@ class Service
             }
         }
     }
+
+    public function showTimeAgo($time, $time_big){
+        // 计算时间差(秒)
+        $diffInSeconds = $time_big - $time;
+
+        // 将时间差转换为更易处理的单位
+        $diffInMinutes = floor($diffInSeconds / 60);
+        $diffInHours = floor($diffInSeconds / 3600);
+        $diffInDays = floor($diffInSeconds / (3600 * 24));
+
+        // 根据时间差生成描述性文本
+        if ($diffInSeconds < 60) {
+            $timeAgo = '刚刚';
+        } elseif ($diffInMinutes < 60) {
+            $timeAgo = $diffInMinutes . '分钟前';
+        } elseif ($diffInHours < 24) {
+            $timeAgo = $diffInHours . '小时前';
+        } elseif ($diffInDays < 2) {
+            $timeAgo = '昨天';
+        } elseif ($diffInDays < 7) {
+            $timeAgo = $diffInDays . '天前';
+        } elseif ($diffInDays < 15) {
+            $timeAgo = '一周前';
+        } elseif ($diffInDays < 30) {
+            $timeAgo = '半个月内';
+        } else {
+            // 如果超过半个月,可以使用具体的日期格式
+            $crtTimeDate = date('Y-m-d', $time);
+            $timeAgo = '在 ' . $crtTimeDate;
+        }
+
+        return $timeAgo;
+    }
 }

+ 8 - 0
config/header/16.php

@@ -7,6 +7,14 @@
 
 return [
     [
+        'key' => 'has_record',
+        'value' => '跟进记录',
+    ],
+    [
+        'key' => 'follow_record',
+        'value' => '最后跟进时间',
+    ],
+    [
         'key' => 'title',
         'value' => '客户名称',
     ],