|
|
@@ -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);
|
|
|
|
|
|
}
|
|
|
|