Browse Source

快递件流程结束

cqpCow 1 year ago
parent
commit
7c6a1e9a28
2 changed files with 44 additions and 2 deletions
  1. 13 0
      app/Model/SalesOrderOtherFee.php
  2. 31 2
      app/Service/SalesOrderService.php

+ 13 - 0
app/Model/SalesOrderOtherFee.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace App\Model;
+
+use Illuminate\Database\Eloquent\Model;
+
+class SalesOrderOtherFee extends Model
+{
+    protected $table = "sales_order_other_fee"; //指定表
+    const CREATED_AT = 'crt_time';
+    const UPDATED_AT = 'upd_time';
+    protected $dateFormat = 'U';
+}

+ 31 - 2
app/Service/SalesOrderService.php

@@ -3,11 +3,13 @@
 namespace App\Service;
 namespace App\Service;
 
 
 use App\Model\BasicType;
 use App\Model\BasicType;
+use App\Model\Construction;
 use App\Model\Customer;
 use App\Model\Customer;
 use App\Model\Employee;
 use App\Model\Employee;
 use App\Model\Product;
 use App\Model\Product;
 use App\Model\SalesOrder;
 use App\Model\SalesOrder;
 use App\Model\SalesOrderInfo;
 use App\Model\SalesOrderInfo;
+use App\Model\SalesOrderOtherFee;
 use App\Model\SalesOrderProductInfo;
 use App\Model\SalesOrderProductInfo;
 use App\Model\SalesOrderRange;
 use App\Model\SalesOrderRange;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\DB;
@@ -278,6 +280,9 @@ class SalesOrderService extends Service
             SalesOrderRange::where('del_time',0)
             SalesOrderRange::where('del_time',0)
                 ->where('sales_order_id',$data['id'])
                 ->where('sales_order_id',$data['id'])
                 ->update(['del_time' => time()]);
                 ->update(['del_time' => time()]);
+            SalesOrderOtherFee::where('del_time',0)
+                ->where('sales_order_id',$data['id'])
+                ->update(['del_time' => time()]);
 
 
             DB::commit();
             DB::commit();
         }catch (\Exception $exception){
         }catch (\Exception $exception){
@@ -503,7 +508,7 @@ class SalesOrderService extends Service
             ->pluck('title','id')
             ->pluck('title','id')
             ->toArray();
             ->toArray();
 
 
-        $product = [];
+        $product = $fee = [];
         if(! empty($ergs['product'])){
         if(! empty($ergs['product'])){
             $sales_p_info = SalesOrderProductInfo::where('del_time',0)
             $sales_p_info = SalesOrderProductInfo::where('del_time',0)
                 ->where('sales_order_id',array_column($data['data'],'id'))
                 ->where('sales_order_id',array_column($data['data'],'id'))
@@ -511,6 +516,12 @@ class SalesOrderService extends Service
             foreach ($sales_p_info as $value){
             foreach ($sales_p_info as $value){
                 $product[$value['sales_order_id']][] = $value;
                 $product[$value['sales_order_id']][] = $value;
             }
             }
+            $sales_o_info = SalesOrderOtherFee::where('del_time',0)
+                ->where('sales_order_id',array_column($data['data'],'id'))
+                ->get()->toArray();
+            foreach ($sales_p_info as $value){
+                $fee[$value['sales_order_id']][] = $value;
+            }
         }
         }
         foreach ($data['data'] as $key => $value){
         foreach ($data['data'] as $key => $value){
             $data['data'][$key]['sales_order_type_title'] = SalesOrder::$order_type[$value['sales_order_type']] ?? '';
             $data['data'][$key]['sales_order_type_title'] = SalesOrder::$order_type[$value['sales_order_type']] ?? '';
@@ -526,6 +537,7 @@ class SalesOrderService extends Service
             $data['data'][$key]['crt_time'] = $value['crt_time'] ? date('Y-m-d H:i:s',$value['crt_time']) : '';
             $data['data'][$key]['crt_time'] = $value['crt_time'] ? date('Y-m-d H:i:s',$value['crt_time']) : '';
             $data['data'][$key]['crt_name'] = $emp[$value['crt_id']] ?? '';
             $data['data'][$key]['crt_name'] = $emp[$value['crt_id']] ?? '';
             $data['data'][$key]['product'] = $product[$value['id']] ?? [];
             $data['data'][$key]['product'] = $product[$value['id']] ?? [];
+            $data['data'][$key]['fee'] = $fee[$value['id']] ?? [];
             $data['data'][$key]['state_name'] = SalesOrder::$state[$value['state']] ?? '';
             $data['data'][$key]['state_name'] = SalesOrder::$state[$value['state']] ?? '';
         }
         }
 
 
@@ -621,7 +633,9 @@ class SalesOrderService extends Service
                 ->where('sales_order_id',$msg['id'])
                 ->where('sales_order_id',$msg['id'])
                 ->where('type',SalesOrderRange::type_three)
                 ->where('type',SalesOrderRange::type_three)
                 ->update(['del_time' => $time]);
                 ->update(['del_time' => $time]);
-
+            SalesOrderOtherFee::where('del_time',0)
+                ->where('sales_order_id',$msg['id'])
+                ->update(['del_time' => $time]);
             if(! empty($data['depart'])){
             if(! empty($data['depart'])){
                 $insert = [];
                 $insert = [];
                 foreach ($data['depart'] as $value){
                 foreach ($data['depart'] as $value){
@@ -635,6 +649,13 @@ class SalesOrderService extends Service
                 SalesOrderRange::insert($insert);
                 SalesOrderRange::insert($insert);
             }
             }
 
 
+            if(! empty($data['other_fee_1'])){
+                $model = new SalesOrderOtherFee();
+                $model->sales_order_id = $msg['id'];
+                $model->other_fee_1 = $data['other_fee_1'] ?? 0;
+                $model->save();
+            }
+
             DB::commit();
             DB::commit();
         }catch (\Exception $exception){
         }catch (\Exception $exception){
             DB::rollBack();
             DB::rollBack();
@@ -653,7 +674,15 @@ class SalesOrderService extends Service
         if($sale['state'] > SalesOrder::State_two) return [false,'请确认合同状态,操作失败'];
         if($sale['state'] > SalesOrder::State_two) return [false,'请确认合同状态,操作失败'];
         $sale = $sale->toArray();
         $sale = $sale->toArray();
 
 
+        $bool = Construction::where('del_time',0)
+            ->where('sales_order_id',$data['id'])
+            ->exists();
+        if(! $bool) return [false,'合同已下施工,操作失败'];
+
         if(empty($data['depart'])) return [false, '请指派总社或分社'];
         if(empty($data['depart'])) return [false, '请指派总社或分社'];
+        if(empty($value['other_fee_1'])) return [false,'价格不能为空'];
+        $res = $this->checkNumber($value['other_fee_1']);
+        if(! $res) return [false,'价格请输入不超过两位小数并且大于0的数值'];
 
 
         return [true, $sale];
         return [true, $sale];
     }
     }