cqpCow 9 месяцев назад
Родитель
Сommit
2e8cd93211
2 измененных файлов с 31 добавлено и 3 удалено
  1. 2 2
      app/Model/Construction.php
  2. 29 1
      app/Service/ConstructionService.php

+ 2 - 2
app/Model/Construction.php

@@ -32,8 +32,8 @@ class Construction extends UseScopeBaseModel
     public static $name = [
         self::STATE_ZERO => '未审核',
         self::STATE_ONE => '待审核',
-        self::STATE_TWO => '已审核',
-        self::STATE_THREE => '待确认',
+        self::STATE_TWO => '施工中',
+        self::STATE_THREE => '待完结审核',
         self::STATE_FOUR => '已完结',
     ];
 

+ 29 - 1
app/Service/ConstructionService.php

@@ -747,6 +747,9 @@ class ConstructionService extends Service
         //施工产品
         $product_map = $this->getProduct($data['data']);
 
+        //订单状态数据组织
+        $state_array = $this->getStateMake($data['data']);
+
         $address_map = config('address');
         foreach ($data['data'] as $key => $value){
             $address_str = [];
@@ -772,8 +775,8 @@ class ConstructionService extends Service
             $data['data'][$key]['customer_title'] = $customer[$value['customer_id']] ?? '';
             $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]['state_title'] = $this->makeState($data['data'][$key], $state_array);
             $data['data'][$key]['customer_contact_title'] = $emp[$value['customer_contact_id']] ?? '';
-            $data['data'][$key]['state_title'] = Construction::$name[$value['state']] ?? '';
             $tmp_sales = $sales_map[$value['sales_order_id']] ?? "";
 //            $tmp_sales_time = $tmp_sales['handover_time'] ? date("Y-m-d") : "";
             $data['data'][$key]['sales_order_number'] = $tmp_sales;
@@ -791,6 +794,31 @@ class ConstructionService extends Service
         return $data;
     }
 
+    public function getStateMake($data){
+        if(empty($data)) return [];
+
+        $order_no = [];
+        foreach ($data as $value){
+            if($value['state'] != Construction::STATE_ONE) continue;
+            $order_no[] = $value['order_number'];
+        }
+
+        return (new OaService())->getOaTeamDetailList($order_no);
+    }
+
+    public function makeState($value, $state_array){
+        if(! empty($state_array[$value['order_number']])){
+            $emp_tmp = $state_array[$value['order_number']];
+            $state = "待" . $emp_tmp . "审核";
+        }elseif($value['state'] == Construction::STATE_ZERO){
+            $state = "待" . $value['crt_name'] . "提交";
+        }else{
+            $state = Construction::$name[$value['state']] ?? '';
+        }
+
+        return $state;
+    }
+
     public function getProduct($data){
         $search_id = array_column($data,'id');
         if(empty($search_id)) return [];