shish 1 anno fa
parent
commit
a3b4afa394
1 ha cambiato i file con 45 aggiunte e 0 eliminazioni
  1. 45 0
      biz-ghs/order/classes/RefundOrderClass.php

+ 45 - 0
biz-ghs/order/classes/RefundOrderClass.php

@@ -7,6 +7,7 @@ use biz\shop\classes\ShopClass;
 use biz\shop\classes\ShopExtClass;
 use biz\sj\classes\SjClass;
 use biz\stat\classes\StatOutClass;
+use bizGhs\item\classes\ItemClassClass;
 use bizGhs\order\traits\OrderTrait;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\shop\classes\MainClass;
@@ -545,10 +546,13 @@ class RefundOrderClass extends BaseClass
         $orderSnList = array_column($refundList, 'orderSn');
         $refundItemData = RefundOrderItemClass::getAllByCondition(['orderSn' => ['in', $orderSnList]], null, '*');
         $refundItemList = [];
+        $pIds = [];
         if (!empty($refundItemData)) {
             foreach ($refundItemData as $itemInfo) {
                 $orderSn = $itemInfo['orderSn'] ?? '';
                 $refundItemList[$orderSn][] = $itemInfo;
+                $productId = $itemInfo['productId'] ?? 0;
+                $pIds[] = $productId;
             }
         }
         foreach ($refundList as $key => $refundInfo) {
@@ -557,6 +561,21 @@ class RefundOrderClass extends BaseClass
             $refundList[$key]['itemList'] = $itemList;
         }
 
+        $pIds = array_unique($pIds);
+        $pIds = array_filter($pIds);
+        $productList = ProductClass::getAllByCondition(['id' => ['in', $pIds]], null, '*', null);
+        $classList = ItemClassClass::getAllByCondition(['mainId' => $mainId], null, '*', 'id');
+        $classMap = [];
+        if (!empty($productList)) {
+            foreach ($productList as $product) {
+                $productId = $product['id'] ?? 0;
+                $classId = $product['classId'];
+                $class = $classList[$classId] ?? [];
+                $className = $class['name'] ?? '未分类';
+                $classMap[$productId] = ['name' => $className, 'classId' => $classId];
+            }
+        }
+
         $phpExcelFile = Yii::getAlias("@vendor/phpoffice/phpexcel/");
         require_once($phpExcelFile . 'Classes/PHPExcel.php');
 
@@ -599,6 +618,9 @@ class RefundOrderClass extends BaseClass
         $objPHPExcel->getActiveSheet()->setCellValue('Q1', '单价');
         $objPHPExcel->getActiveSheet()->setCellValue('R1', '数量');
         $objPHPExcel->getActiveSheet()->setCellValue('S1', '金额');
+        $objPHPExcel->getActiveSheet()->setCellValue('T1', '花材分类');
+        $objPHPExcel->getActiveSheet()->setCellValue('U1', '售后原因ID');
+        $objPHPExcel->getActiveSheet()->setCellValue('V1', '售后原因');
 
         //设置宽度
         $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
@@ -630,6 +652,9 @@ class RefundOrderClass extends BaseClass
         $objPHPExcel->getActiveSheet()->getStyle('Q1')->getFont()->setSize(9)->setBold(true);
         $objPHPExcel->getActiveSheet()->getStyle('R1')->getFont()->setSize(9)->setBold(true);
         $objPHPExcel->getActiveSheet()->getStyle('S1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('T1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('U1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('V1')->getFont()->setSize(9)->setBold(true);
 
         $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
@@ -650,6 +675,9 @@ class RefundOrderClass extends BaseClass
         $objPHPExcel->getActiveSheet()->getStyle('Q1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         $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('T1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('U1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('V1')->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);
@@ -670,6 +698,9 @@ class RefundOrderClass extends BaseClass
         $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);
+        $objPHPExcel->getActiveSheet()->getStyle('T1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('U1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('V1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
 
         $baseRow = 2;
         $x = 0;
@@ -722,6 +753,13 @@ class RefundOrderClass extends BaseClass
                     $objPHPExcel->getActiveSheet()->setCellValue('R' . $i, $refundInfo['xhNum']);
                     $objPHPExcel->getActiveSheet()->setCellValue('S' . $i, $refundInfo['xhPrice']);
 
+                    $productId = $refundInfo['productId'];
+                    $classInfo = $classMap[$productId] ?? [];
+                    $className = $classInfo['name'] ?? '未分类';
+                    $objPHPExcel->getActiveSheet()->setCellValue('T' . $i, $className);
+                    $objPHPExcel->getActiveSheet()->setCellValue('U' . $i, $refundInfo['refundOptionId']);
+                    $objPHPExcel->getActiveSheet()->setCellValue('V' . $i, $refundInfo['refundOptionName']);
+
                     //居左
                     $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                     $objPHPExcel->getActiveSheet()->getStyle('B' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
@@ -743,6 +781,8 @@ class RefundOrderClass extends BaseClass
                     $objPHPExcel->getActiveSheet()->getStyle('R' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                     $objPHPExcel->getActiveSheet()->getStyle('S' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                     $objPHPExcel->getActiveSheet()->getStyle('T' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('U' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('V' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 
                 }
             } else {
@@ -768,6 +808,9 @@ class RefundOrderClass extends BaseClass
                 $objPHPExcel->getActiveSheet()->setCellValue('Q' . $i, '');
                 $objPHPExcel->getActiveSheet()->setCellValue('R' . $i, '');
                 $objPHPExcel->getActiveSheet()->setCellValue('S' . $i, '');
+                $objPHPExcel->getActiveSheet()->setCellValue('T' . $i, '');
+                $objPHPExcel->getActiveSheet()->setCellValue('U' . $i, '');
+                $objPHPExcel->getActiveSheet()->setCellValue('V' . $i, '');
 
                 //居左
                 $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
@@ -790,6 +833,8 @@ class RefundOrderClass extends BaseClass
                 $objPHPExcel->getActiveSheet()->getStyle('R' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                 $objPHPExcel->getActiveSheet()->getStyle('S' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                 $objPHPExcel->getActiveSheet()->getStyle('T' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                $objPHPExcel->getActiveSheet()->getStyle('U' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                $objPHPExcel->getActiveSheet()->getStyle('V' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 
             }