shish 2 years ago
parent
commit
82d42efc56
1 changed files with 353 additions and 6 deletions
  1. 353 6
      app-ghs/controllers/CsController.php

+ 353 - 6
app-ghs/controllers/CsController.php

@@ -2,17 +2,364 @@
 
 namespace ghs\controllers;
 
-use biz\admin\classes\AdminRoleClass;
-use bizGhs\item\classes\ItemClassClass;
-use bizGhs\merchant\classes\ShopClass;
+use biz\ghs\classes\GhsClass;
+use biz\sj\classes\SjClass;
+use biz\wx\classes\WxMessageClass;
+use bizGhs\book\classes\BookItemClass;
+use bizGhs\order\classes\PurchaseOrderClass;
+use bizGhs\order\classes\PurchaseOrderItemClass;
 use bizGhs\product\classes\ProductClass;
-use bizGhs\product\models\Product;
-use bizGhs\product\services\ProductService;
+use bizGhs\shop\classes\ShopClass;
+use bizHd\purchase\classes\PurchaseClass;
+use common\components\dateUtil;
+use common\components\dict;
+use common\components\noticeUtil;
+use common\components\printUtil;
 use common\components\stringUtil;
 use common\components\util;
+use biz\shop\classes\ShopExtClass;
 use Yii;
+use biz\shop\classes\MainClass;
+use biz\shop\classes\ShopCapitalClass;
+use biz\stat\classes\StatCgClass;
+use biz\stat\classes\StatCgGhsClass;
+use biz\stat\classes\StatOutClass;
+use bizGhs\base\classes\BaseClass;
+use bizGhs\book\classes\BookCustomClass;
+use bizGhs\book\classes\BookItemCustomClass;
+use bizGhs\book\classes\BookItemGhsClass;
+use bizGhs\cg\classes\CgOrderItemClass;
+use bizGhs\cg\classes\CgOrderItemSendClass;
+use bizGhs\custom\classes\CustomClass;
+use bizGhs\ghs\classes\GhsDebtRecordClass;
+use bizGhs\item\classes\CostChangeClass;
+use bizGhs\item\classes\ItemClassClass;
+use bizGhs\order\traits\OrderTrait;
+use bizGhs\shop\classes\ShopAdminClass;
+use bizGhs\stock\classes\OnStockRecordClass;
+use bizGhs\stock\classes\StockRecordClass;
 
-class CsController extends PublicController
+class CsController extends BaseController
 {
 
+    public $guestAccess = ['list'];
+
+    public function actionList()
+    {
+        $where = [];
+        $get = Yii::$app->request->get();
+        $export = $get['export'] ?? 0;
+        $search = $get['search'] ?? '';
+        $where['shopId'] = 23580;
+        $ghsId = $get['ghsId'] ?? 0;
+        if (!empty($ghsId)) {
+            $where['ghsId'] = $ghsId;
+        }
+        if (!empty($search)) {
+            if (is_numeric($search) && strlen($search) == 4) {
+                $where['orderSn'] = ['like', $search];
+            } else {
+                $where['ghsName'] = ['like', $search];
+            }
+        }
+        $name = $get['name'] ?? '';
+        if (!empty($name)) {
+            $re = strstr($name, 'PH');
+            if (!empty($re)) {
+                $where['orderSn'] = $name;
+            } else {
+                $where['ghsName'] = ['like', $name];
+            }
+        }
+        $searchTime = 'custom';
+
+        $startTime = '2024-07-01';
+        $endTime = '2024-07-31';
+        $period = dateUtil::formatTime($searchTime, $startTime, $endTime);
+        $where['entryTime'] = ['between', [$period['startTime'], $period['endTime']]];
+
+        $cgStaffId = $get['cgStaffId'] ?? 0;
+        if (!empty($cgStaffId)) {
+            $where['cgStaffId'] = $cgStaffId;
+        }
+        if ($export == 1) {
+            ini_set('memory_limit', '2045M');
+            set_time_limit(0);
+            if (isset($where['entryTime']) == false) {
+                util::fail('请选时间段');
+            }
+            $start = $where['entryTime'][1][0];
+            $end = $where['entryTime'][1][1];
+            $monthTime = bcmul(31, 86400);
+            $startArea = strtotime($start);
+            $endArea = strtotime($end);
+            $diff = bcsub($endArea, $startArea);
+            if ($diff > $monthTime) {
+                util::fail('最长可导出一个月');
+            }
+        }
+
+
+        $data = PurchaseOrderClass::getOrderList($where);
+
+        if ($export == 1) {
+            $this->exportOrderData($data, 23390);
+        }
+
+        //状态统计,很慢,暂时隐藏
+        //$statData = PurchaseOrderClass::statNum($this->shopId);
+        $statData = [
+            'allNum' => 0,
+            'unPayNum' => 0,
+            'unSendNum' => 0,
+            'sendingNum' => 0,
+            'finishNum' => 0,
+        ];
+        $data = array_merge($data, $statData);
+        echo "<pre>";
+        print_r($data);
+    }
+
+
+    public function exportOrderData($respond, $mainId)
+    {
+        $orderList = $respond['list'] ?? [];
+        if (empty($orderList)) {
+            util::fail('没有数据需要导出');
+        }
+        $orderSnList = array_column($orderList, 'orderSn');
+        $orderItemData = PurchaseOrderItemClass::getAllByCondition(['orderSn' => ['in', $orderSnList]], null, '*');
+        $orderItemList = [];
+        if (!empty($orderItemData)) {
+            foreach ($orderItemData as $itemInfo) {
+                $orderSn = $itemInfo['orderSn'] ?? '';
+                $orderItemList[$orderSn][] = $itemInfo;
+            }
+        }
+        foreach ($orderList as $key => $orderInfo) {
+            $orderSn = $orderInfo['orderSn'] ?? '';
+            $status = $orderInfo['status'] ?? 0;
+            //增加项
+            $actPrice = $orderInfo['actPrice'] ?? 0;
+            if ($status != 4) {
+                unset($orderList[$key]);
+                continue;
+            }
+            //增加项
+            if ($actPrice <= 0) {
+                unset($orderList[$key]);
+                continue;
+            }
+            $itemList = $orderItemList[$orderSn] ?? [];
+            $orderList[$key]['itemList'] = $itemList;
+        }
+
+        $classList = ItemClassClass::getAllByCondition(['mainId' => $mainId], null, '*', 'id');
+
+        $phpExcelFile = Yii::getAlias("@vendor/phpoffice/phpexcel/");
+        require_once($phpExcelFile . 'Classes/PHPExcel.php');
+
+        $objPHPExcel = new \PHPExcel();
+
+        $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
+            ->setLastModifiedBy("Maarten Balliauw")
+            ->setTitle("Office 2007 XLSX Document")
+            ->setSubject("Office 2007 XLSX Document")
+            ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
+            ->setKeywords("office 2007 openxml php")
+            ->setCategory("file");
+
+        $ghsTitle = '供货商';
+        $objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader(date('n月j日') . " " . $ghsTitle);
+
+        $objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0.7);
+        $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0.1);
+        $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.5);
+        $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0);
+        $objPHPExcel->getActiveSheet()->getPageMargins()->setHeader(0.1);
+        $objPHPExcel->getActiveSheet()->getPageMargins()->setFooter(0);
+
+        $objPHPExcel->getActiveSheet()->setCellValue('A1', '订单号');
+        $objPHPExcel->getActiveSheet()->setCellValue('B1', '创建时间');
+        $objPHPExcel->getActiveSheet()->setCellValue('C1', '入库时间');
+        $objPHPExcel->getActiveSheet()->setCellValue('D1', '订单金额');
+        $objPHPExcel->getActiveSheet()->setCellValue('E1', '退款金额');
+        $objPHPExcel->getActiveSheet()->setCellValue('F1', '实际金额');
+        $objPHPExcel->getActiveSheet()->setCellValue('G1', '供货商名称');
+        $objPHPExcel->getActiveSheet()->setCellValue('H1', '录入人员');
+        $objPHPExcel->getActiveSheet()->setCellValue('I1', '采购人员');
+        $objPHPExcel->getActiveSheet()->setCellValue('J1', '状态');
+        $objPHPExcel->getActiveSheet()->setCellValue('K1', '打印次数');
+        $objPHPExcel->getActiveSheet()->setCellValue('L1', '结清状态');
+        $objPHPExcel->getActiveSheet()->setCellValue('M1', '');
+        $objPHPExcel->getActiveSheet()->setCellValue('N1', '花材Id');
+        $objPHPExcel->getActiveSheet()->setCellValue('O1', '花材名称');
+        $objPHPExcel->getActiveSheet()->setCellValue('P1', '单价');
+        $objPHPExcel->getActiveSheet()->setCellValue('Q1', '数量');
+        $objPHPExcel->getActiveSheet()->setCellValue('R1', '已退数量');
+        $objPHPExcel->getActiveSheet()->setCellValue('S1', '金额');
+        $objPHPExcel->getActiveSheet()->setCellValue('T1', '分类');
+
+        //设置宽度
+        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
+        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
+        $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()->getColumnDimension('T')->setWidth(20);
+        //加粗
+        $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('C1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('D1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('F1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('G1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('H1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('I1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('J1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('K1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('L1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('M1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('N1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('O1')->getFont()->setSize(9)->setBold(true);
+        $objPHPExcel->getActiveSheet()->getStyle('P1')->getFont()->setSize(9)->setBold(true);
+        $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('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('E1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('F1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('G1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('H1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('I1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('J1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('K1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('L1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('M1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('N1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('O1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $objPHPExcel->getActiveSheet()->getStyle('P1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+        $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('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);
+        $objPHPExcel->getActiveSheet()->getStyle('T1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
+
+        $baseRow = 2;
+        $x = 0;
+        foreach ($orderList as $key => $orderData) {
+            $currentList = $orderData['itemList'] ?? [];
+            if (!empty($currentList)) {
+                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']);
+                    } 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, $orderData['printNum'] ?? 0);
+                    $debtName = '';
+                    if ($orderData['debt'] == 1) {
+                        $debtName = '未结清';
+                    }
+                    if ($orderData['debt'] == 2) {
+                        $debtName = '已结清';
+                    }
+                    $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, $debtName);
+                    $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);
+                    $classId = $orderInfo['classId'] ?? 0;
+                    $className = isset($classList[$classId]) && isset($classList[$classId]['name']) ? $classList[$classId]['name'] : '';
+                    $objPHPExcel->getActiveSheet()->setCellValue('T' . $i, $className);
+
+                    //居左
+                    $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('B' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('C' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('D' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('E' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('F' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('G' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('H' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('I' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('J' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('K' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('L' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('M' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('N' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('O' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('P' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $objPHPExcel->getActiveSheet()->getStyle('Q' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
+                    $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);
+                }
+            }
+        }
+        $fileName = '采购单明细-' . time();
+        $objPHPExcel->getActiveSheet()->setTitle($fileName);
+        $objPHPExcel->setActiveSheetIndex(0);
+        $dir = './priceTable/' . $mainId;
+        if (file_exists($dir) == false) {
+            mkdir($dir, 0777, true);
+        }
+        $date = $fileName;
+        $file = $date . '.xls';
+        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
+        if (file_exists($dir . '/' . $file)) {
+            unlink($dir . '/' . $file);
+        }
+        $objWriter->save($dir . '/' . $file);
+        $fileUrl = Yii::$app->params['ghsHost'] . '/priceTable/' . $mainId . '/' . $file;
+        util::success(['file' => $fileUrl, 'shortFile' => $file]);
+    }
+
 }