Parcourir la source

Merge remote-tracking branch 'origin/master'

gogs il y a 1 an
Parent
commit
232e274d99

+ 4 - 2
app/Http/Controllers/Api/SalesOrderController.php

@@ -86,7 +86,8 @@ class SalesOrderController extends BaseController
     public function salesOrderDispatchSale(Request $request)
     {
         $service = new SalesOrderService();
-        list($status,$data) = $service->salesOrderDispatchSale($request->all());
+        $userData = $request->userData->toArray();
+        list($status,$data) = $service->salesOrderDispatchSale($request->all(),$userData);
 
         if($status){
             return $this->json_return(200,'',$data);
@@ -98,7 +99,8 @@ class SalesOrderController extends BaseController
     public function salesOrderDispatchCompany(Request $request)
     {
         $service = new SalesOrderService();
-        list($status,$data) = $service->salesOrderDispatchCompany($request->all());
+        $userData = $request->userData->toArray();
+        list($status,$data) = $service->salesOrderDispatchCompany($request->all(),$userData);
 
         if($status){
             return $this->json_return(200,'',$data);

+ 36 - 0
app/Model/OrderOperation.php

@@ -0,0 +1,36 @@
+<?php
+
+namespace App\Model;
+
+use Illuminate\Database\Eloquent\Model;
+
+
+class OrderOperation extends Model
+{
+    protected $table = "order_operation"; //指定表
+    const CREATED_AT = 'crt_time';
+    const UPDATED_AT = 'upd_time';
+    protected $dateFormat = 'U';
+
+    //审批操作对应的数值
+    const one = 1;
+    const two = 2;
+    const three = 3;
+    const four = 4;
+    const five = 5;
+    const six = 6;
+    const seven = 7;
+    const eight = 8;
+    const nine = 9;
+
+    public static $type = [
+        1 => '指派销售',
+        2 => '指派分社',
+        3 => '合同确认',
+        4 => '合同弃审',
+        5 => '合同公司完结',
+        6 => '合同客户完结',
+        7 => '收付款',
+
+    ];
+}

+ 1 - 1
app/Service/CheckService.php

@@ -903,7 +903,7 @@ class CheckService extends Service
                 'order' => $msg,
             ];
 
-            $oa = new OaService();
+            $oa = new OaService($user);
             list($bool,$msg) = $oa->createOaOrder($args);
             if(! $bool) {
                 DB::rollBack();

+ 1 - 1
app/Service/ConstructionService.php

@@ -256,7 +256,7 @@ class ConstructionService extends Service
                 foreach ($data['file'] as $value){
                     $insert[] = [
                         'order_number' => $data['order_number'],
-                        'construction_id' => $data['id'],
+                        'construction_id' => $model->id,
                         'file' => $value['url'],
                         'name' => $value['name'],
                         'mark' => $value['mark'] ?? "",

+ 17 - 0
app/Service/OrderOperationService.php

@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Service;
+
+use App\Model\OrderOperation;
+
+class OrderOperationService extends Service
+{
+    public function add($data,$user){
+        $model = new OrderOperation();
+        $model->order_number = $data['order_number'];
+        $model->msg = $data['msg'];
+        $model->user_id = $user['id'];
+        $model->type = $data['type'];
+        $model->save();
+    }
+}

+ 47 - 8
app/Service/SalesOrderService.php

@@ -10,6 +10,7 @@ use App\Model\CustomerInfo;
 use App\Model\Depart;
 use App\Model\Employee;
 use App\Model\InvoiceOrder;
+use App\Model\OrderOperation;
 use App\Model\Product;
 use App\Model\SalesOrder;
 use App\Model\SalesOrderInfo;
@@ -839,17 +840,26 @@ class SalesOrderService extends Service
      * @param $data
      * @return array
      */
-    public function salesOrderDispatchSale($data){
-        list($status,$msg) = $this->salesOrderDispatchSaleRule($data);
+    public function salesOrderDispatchSale($data, $user){
+        list($status,$msg) = $this->salesOrderDispatchSaleRule($data, $user);
         if(! $status) return [false,$msg];
 
         try {
             DB::beginTransaction();
             $time = time();
-            SalesOrder::where('del_time',0)->where('id',$msg['id'])->update([
-                'state' => SalesOrder::State_three,
-                'dispatch_time_first' => $time,
-            ]);
+
+            if(empty($data['is_company'])){
+                SalesOrder::where('del_time',0)->where('id',$msg['id'])->update([
+                    'state' => SalesOrder::State_three,
+                    'dispatch_time_first' => $time,
+                ]);
+            }else{
+                SalesOrder::where('del_time',0)->where('id',$msg['id'])->update([
+                    'state' => SalesOrder::State_four,
+                    'dispatch_time_first' => $time,
+                    'dispatch_time_second' => $time,
+                ]);
+            }
 
             SeeRange::where('del_time',0)
                 ->where('data_id',$msg['id'])
@@ -885,6 +895,24 @@ class SalesOrderService extends Service
                 SeeRange::insert($insert);
             }
 
+            if(! empty($data['is_company'])){
+                $insert = [];
+                $insert[] = [
+                    'data_id' => $msg['id'],
+                    'data_type' => SeeRange::type_seven,
+                    'param_id' => $data['is_company'],
+                    'type' => SeeRange::data_three,
+                    'crt_time' => $time,
+                ];
+                SeeRange::insert($insert);
+            }
+
+            (new OrderOperationService())->add([
+                'order_number' => $msg['order_number'],
+                'msg' => OrderOperation::$type[OrderOperation::one],
+                'type' => OrderOperation::one
+            ],$user);
+
             DB::commit();
         }catch (\Exception $exception){
             DB::rollBack();
@@ -899,7 +927,7 @@ class SalesOrderService extends Service
      * @param $data
      * @return array
      */
-    public function salesOrderDispatchSaleRule($data){
+    public function salesOrderDispatchSaleRule(&$data, $user){
         if(empty($data['id'])) return [false,'请选择合同派单'];
         $sale = SalesOrder::where('del_time',0)
             ->where('id',$data['id'])
@@ -915,6 +943,11 @@ class SalesOrderService extends Service
         if(! $bool) return [false,'合同产品不能为空'];
         if(empty($data['dispatch_depart_one']) && empty($data['dispatch_employee'])) return [false, '请指派部门或人员'];
 
+        //如果是分社的合同 派销售以后直接 分社结束
+        $top_depart_id = $user['head'] ?? [];
+        $top_depart_id = $top_depart_id['id'] ?? 0;
+        if($top_depart_id != $sale['top_depart_id']) $data['is_company'] = $sale['top_depart_id'];
+
         return [true, $sale];
     }
 
@@ -923,7 +956,7 @@ class SalesOrderService extends Service
      * @param $data
      * @return array
      */
-    public function salesOrderDispatchCompany($data){
+    public function salesOrderDispatchCompany($data,$user){
         list($status,$msg) = $this->salesOrderDispatchCompanyRule($data);
         if(! $status) return [false,$msg];
 
@@ -964,6 +997,12 @@ class SalesOrderService extends Service
                 $model->save();
             }
 
+            (new OrderOperationService())->add([
+                'order_number' => $msg['order_number'],
+                'msg' => OrderOperation::$type[OrderOperation::one],
+                'type' => OrderOperation::one
+            ],$user);
+
             DB::commit();
         }catch (\Exception $exception){
             DB::rollBack();

+ 1 - 1
config/header/37.php

@@ -95,7 +95,7 @@ return [
         'value' => '创建人',
     ],
     [
-        'key' => 'state_name',
+        'key' => 'state_title',
         'value' => '订单状态',
     ],
     [

+ 1 - 1
config/header/43.php

@@ -95,7 +95,7 @@ return [
         'value' => '创建人',
     ],
     [
-        'key' => 'state_name',
+        'key' => 'state_title',
         'value' => '订单状态',
     ],
     [