cqpCow 9 månader sedan
förälder
incheckning
9ce6cbc9a9
3 ändrade filer med 49 tillägg och 13 borttagningar
  1. 2 2
      app/Model/PurchaseOrder.php
  2. 7 6
      app/Service/ExportFileService.php
  3. 40 5
      app/Service/PurchaseOrderService.php

+ 2 - 2
app/Model/PurchaseOrder.php

@@ -17,8 +17,8 @@ class PurchaseOrder 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 => '已入库',
     ];
 

+ 7 - 6
app/Service/ExportFileService.php

@@ -681,7 +681,7 @@ class ExportFileService extends Service
                 }
 
                 //获取发货信息
-                $invoice_map = (new InvoiceOrderService())->getInvoiceData($data);
+//                $invoice_map = (new InvoiceOrderService())->getInvoiceData($data);
 
                 $flag = [];
                 foreach ($data as $value){
@@ -692,9 +692,10 @@ class ExportFileService extends Service
                     $crt_time = empty($value->crt_time) ? '' : date('Y-m-d',$value->crt_time);
                     //发货信息
                     $state_title = PurchaseOrder::$name[$value->state] ?? '';
-                    $invoice_state = "未发货";
-                    if(! empty($invoice_map[$value->order_number])) $invoice_state = implode(',',$invoice_map[$value->order_number]);
-                    $state_message = "订单状态:" . $state_title . "\n"."是否发货:" . $invoice_state;
+//                    $invoice_state = "未发货";
+//                    if(! empty($invoice_map[$value->order_number])) $invoice_state = implode(',',$invoice_map[$value->order_number]);
+//                    $state_message = "订单状态:" . $state_title . "\n"."是否发货:" . $invoice_state;
+                    $state_message = $state_title;
                     $product_tmp = $product[$value->id] ?? [];
 
                     foreach ($product_tmp as $val){
@@ -728,7 +729,7 @@ class ExportFileService extends Service
                                 'purchase_amount' => $value->purchase_total,
                                 'other_fee' => $value->other_fee,
                                 'discount_fee' => $value->discount_fee,
-                                'state_title' => $state_message,
+                                'state_title' => $state_title,
                                 'crt_time' => $crt_time,
                                 'crt_name' => $crt_name,
                                 'product_title' => $val['title'],
@@ -742,7 +743,7 @@ class ExportFileService extends Service
                 }
             });
 
-        $header = ['采购单号','关联单号','采购人','产品合计','供应商','采购金额','其他费用','优惠金额','状态','创建时间','创建人','产品名称','产品编码','产品规格','产品单价','产品数量'];
+        $header = ['采购单号','关联单号','采购人','产品合计','供应商','采购金额','其他费用','优惠金额','订单状态','创建时间','创建人','产品名称','产品编码','产品规格','产品单价','产品数量'];
 
         return $this->saveExportData($return,$header);
     }

+ 40 - 5
app/Service/PurchaseOrderService.php

@@ -216,7 +216,6 @@ class PurchaseOrderService extends Service
         $supplier = Supplier::where('id',$order['supplier'])->first();
         $order['supplier_title'] = $supplier->title ?? '';
         $order['order_type_title'] = PurchaseOrder::$order_type[$order['order_type']] ?? '';
-        $order['state_title'] = PurchaseOrder::$name[$order['state']] ?? '';
         $sales = SalesOrder::where('id',$order['sales_order_id'])->value('order_number');
         $order['sales_order_number'] = $sales;
         $emp_map = Employee::whereIn('id',array_unique(array_merge_recursive([$order['purchase_id']],[$order['crt_id']])))
@@ -256,6 +255,10 @@ class PurchaseOrderService extends Service
         }
         $order['crt_name'] = $emp_map[$order['crt_id']] ?? '';
         $order['crt_time'] = $order['crt_time'] ? date("Y-m-d H:i:s",$order['crt_time']): '';
+
+        $state_array = $this->getStateMake([$order]);
+        $order['state_title'] = $this->makeState($order,$state_array);
+
         //可见范围
         $return = (new RangeService())->RangeDetail($order['id'],SeeRange::type_five);
         $order['depart'] = $return[0] ?? [];
@@ -451,12 +454,17 @@ class PurchaseOrderService extends Service
         list($getDifferentAmountALL,$getDifferentAmountALL1) = (new ReturnExchangeOrderService())->getDifferentAmountALLNew(array_column($data['data'],'id'),1);
 
         //获取发货信息
-        $invoice_map = (new InvoiceOrderService())->getInvoiceData($data['data']);
+//        $invoice_map = (new InvoiceOrderService())->getInvoiceData($data['data']);
+
+        //订单状态数据组织
+        $state_array = $this->getStateMake($data['data']);
+
         foreach ($data['data'] as $key => $value){
             $supplier_tmp = $supplier_map[$value['supplier']] ?? [];
             $data['data'][$key]['crt_time'] = $value['crt_time'] ? date("Y-m-d H:i:s",$value['crt_time']) : '';
             $data['data'][$key]['depart_name'] = $depart_map[$value['depart_id']] ?? '';
             $data['data'][$key]['crt_name'] = $emp_map[$value['crt_id']] ?? '';
+            $data['data'][$key]['state_title'] = $this->makeState($data['data'][$key], $state_array);
             $data['data'][$key]['purchase_name'] = $emp_map[$value['purchase_id']] ?? '';
             $data['data'][$key]['order_type_title'] = PurchaseOrder::$order_type[$value['order_type']] ?? '';
             $data['data'][$key]['state_title'] = PurchaseOrder::$name[$value['state']] ?? '';
@@ -465,9 +473,11 @@ class PurchaseOrderService extends Service
             $data['data'][$key]['supplier_title'] = $supplier_tmp['title'] ?? '';
             $data['data'][$key]['product'] = $product[$value['id']] ?? [];
             //发货信息 分社向总社采购
-            $invoice_state = "未发货";
-            if(! empty($invoice_map[$value['order_number']])) $invoice_state = implode(',',$invoice_map[$value['order_number']]);
-            $data['data'][$key]['state_message'] = "订单状态:" . $data['data'][$key]['state_title'] . "\n"."是否发货:" . $invoice_state;
+//            $invoice_state = "未发货";
+//            if(! empty($invoice_map[$value['order_number']])) $invoice_state = implode(',',$invoice_map[$value['order_number']]);
+//            $data['data'][$key]['state_message'] = "订单状态:" . $data['data'][$key]['state_title'] . "\n"."是否发货:" . $invoice_state;
+
+            $data['data'][$key]['state_message'] = $data['data'][$key]['state_title'];
 
             //用于计算--------
             //已收(审核后)
@@ -504,6 +514,31 @@ class PurchaseOrderService extends Service
         return $data;
     }
 
+    public function getStateMake($data){
+        if(empty($data)) return [];
+
+        $order_no = [];
+        foreach ($data as $value){
+            if($value['state'] != PurchaseOrder::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'] == PurchaseOrder::STATE_ZERO){
+            $state = "待" . $value['crt_name'] . "提交";
+        }else{
+            $state = PurchaseOrder::$name[$value['state']] ?? '';
+        }
+
+        return $state;
+    }
+
     /**
      * 采购单参数规则
      * @param $data