shish 2 лет назад
Родитель
Сommit
ea6fdc4d25
1 измененных файлов с 77 добавлено и 28 удалено
  1. 77 28
      biz-ghs/order/classes/PurchaseOrderClass.php

+ 77 - 28
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -1337,6 +1337,7 @@ class PurchaseOrderClass extends BaseClass
         $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
         $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
         $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
+        $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(20);
         //加粗
         $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(9)->setBold(true);
         $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(9)->setBold(true);
@@ -1378,41 +1379,89 @@ class PurchaseOrderClass extends BaseClass
         $objPHPExcel->getActiveSheet()->getStyle('R1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         $objPHPExcel->getActiveSheet()->getStyle('S1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 
+        $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('E1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('F1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('G1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('H1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('I1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('J1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('K1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('L1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('M1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('N1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('O1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('P1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('Q1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('R1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('S1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+
         $baseRow = 2;
         $x = 0;
         foreach ($orderList as $key => $orderData) {
-            if (!empty($orderData['itemList'])) {
-                foreach ($orderData['itemList'] as $k => $orderInfo) {
+            $currentList = $orderData['itemList'] ?? [];
+            if (!empty($currentList)) {
+                array_unshift($currentList, ['id' => -1]);
+                foreach ($currentList as $k => $orderInfo) {
                     $i = $baseRow + $x;
                     $x++;
-                    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $orderData['orderSn']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $orderData['addTime']);
-                    if ($orderData['status'] == 4) {
-                        $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $orderData['entryTime']);
+                    if ($orderInfo['id'] == -1) {
+                        $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $orderData['orderSn']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $orderData['addTime']);
+                        if ($orderData['status'] == 4) {
+                            $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $orderData['entryTime']);
+                        } else {
+                            $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, '');
+                        }
+                        $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $orderData['orderPrice']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $orderData['tkPrice']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $orderData['actPrice']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $orderData['ghsName']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $orderData['shopAdminName']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $orderData['cgStaffName']);
+                        $map = [1 => '待确认', 2 => '待发货', 3 => '待入库', 4 => '已入库', 5 => '已取消'];
+                        $statusName = isset($orderData['status']) && isset($map[$orderData['status']]) ? $map[$orderData['status']] : '未知';
+                        $objPHPExcel->getActiveSheet()->setCellValue('J' . $i, $statusName);
+                        $objPHPExcel->getActiveSheet()->setCellValue('K' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('M' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('N' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('O' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('P' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('Q' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('R' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('S' . $i, '');
                     } else {
-                        $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $orderData['orderSn']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $orderData['addTime']);
+                        if ($orderData['status'] == 4) {
+                            $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $orderData['entryTime']);
+                        } else {
+                            $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, '');
+                        }
+                        $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('G' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('H' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('I' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('J' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('K' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('M' . $i, '');
+                        $objPHPExcel->getActiveSheet()->setCellValue('N' . $i, $orderInfo['productId']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('O' . $i, $orderInfo['name']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('P' . $i, $orderInfo['bigPrice']);
+                        $remainNum = bcsub($orderInfo['itemNum'], $orderInfo['refundNum']);
+                        $price = bcmul($remainNum, $orderInfo['bigPrice'], 2);
+                        $price = floatval($price);
+                        $objPHPExcel->getActiveSheet()->setCellValue('Q' . $i, $remainNum);
+                        $objPHPExcel->getActiveSheet()->setCellValue('R' . $i, $orderInfo['refundNum']);
+                        $objPHPExcel->getActiveSheet()->setCellValue('S' . $i, $price);
                     }
-                    $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $orderData['orderPrice']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $orderData['tkPrice']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $orderData['actPrice']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $orderData['ghsName']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $orderData['shopAdminName']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $orderData['cgStaffName']);
-                    $map = [1 => '待确认', 2 => '待发货', 3 => '待入库', 4 => '已入库', 5 => '已取消'];
-                    $statusName = isset($orderData['status']) && isset($map[$orderData['status']]) ? $map[$orderData['status']] : '未知';
-                    $objPHPExcel->getActiveSheet()->setCellValue('J' . $i, $statusName);
-                    $objPHPExcel->getActiveSheet()->setCellValue('K' . $i, '');
-                    $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, '');
-                    $objPHPExcel->getActiveSheet()->setCellValue('M' . $i, '');
-                    $objPHPExcel->getActiveSheet()->setCellValue('N' . $i, $orderInfo['productId']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('O' . $i, $orderInfo['name']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('P' . $i, $orderInfo['bigPrice']);
-                    $remainNum = bcsub($orderInfo['itemNum'], $orderInfo['refundNum']);
-                    $price = bcmul($remainNum, $orderInfo['bigPrice'], 2);
-                    $price = floatval($price);
-                    $objPHPExcel->getActiveSheet()->setCellValue('Q' . $i, $remainNum);
-                    $objPHPExcel->getActiveSheet()->setCellValue('R' . $i, $orderInfo['refundNum']);
-                    $objPHPExcel->getActiveSheet()->setCellValue('S' . $i, $price);
 
                     //居左
                     $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);