shish 2 ani în urmă
părinte
comite
ed70df03db

+ 2 - 85
app-ghs/controllers/PurchaseOrderController.php

@@ -597,91 +597,8 @@ class PurchaseOrderController extends BaseController
             }
             ini_set('memory_limit', '2045M');
             set_time_limit(0);
-
-
-            $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', 'ID');
-            $objPHPExcel->getActiveSheet()->setCellValue('B1', '客户');
-            $objPHPExcel->getActiveSheet()->setCellValue('C1', '手机号');
-            $objPHPExcel->getActiveSheet()->setCellValue('D1', '待结金额');
-            $objPHPExcel->getActiveSheet()->setCellValue('E1', '最近下单');
-
-            //设置宽度
-            $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
-            $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
-            $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
-            $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(30);
-            //加粗
-            $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('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-            $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-            $objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-            $objPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-            $objPHPExcel->getActiveSheet()->getStyle('E1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-
-            $baseRow = 2;
-            $list =[['id'=>1,'name'=>'shish','mobile'=>'15280215347','remainDebtAmount'=>12,'recentExpend'=>'wee']];
-            foreach ($list as $key => $custom) {
-                $i = $baseRow + $key;
-                $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $custom['id']);
-                $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $custom['name']);
-                $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $custom['mobile'], \PHPExcel_Cell_DataType::TYPE_STRING);
-                $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $custom['remainDebtAmount']);
-                if ($custom['recentExpend'] == '0000-00-00 00:00:00') {
-                    $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, '没有下过单');
-                } else {
-                    $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $custom['recentExpend']);
-                }
-                //居左
-                $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-                $objPHPExcel->getActiveSheet()->getStyle('B' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-                $objPHPExcel->getActiveSheet()->getStyle('C' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-                $objPHPExcel->getActiveSheet()->getStyle('D' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-                $objPHPExcel->getActiveSheet()->getStyle('E' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
-            }
-            $fileName = '客户-' . date("m-d");
-            $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]);
-
-
-
+            PurchaseOrderClass::exportDueList($list, $mainId);
+            util::stop();
         }
         util::success(['list' => $list, 'totalAmount' => $totalAmount]);
     }

+ 70 - 0
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -1197,4 +1197,74 @@ class PurchaseOrderClass extends BaseClass
 
     }
 
+    public static function exportDueList($list, $mainId)
+    {
+        $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', 'ID');
+        $objPHPExcel->getActiveSheet()->setCellValue('B1', '名称');
+        $objPHPExcel->getActiveSheet()->setCellValue('C1', '金额');
+
+        //设置宽度
+        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
+        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->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('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
+        $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
+        $objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
+
+        $baseRow = 2;
+        foreach ($list as $key => $custom) {
+            $i = $baseRow + $key;
+            $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $custom['id']);
+            $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $custom['name']);
+            $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $custom['amount']);
+            //居左
+            $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
+            $objPHPExcel->getActiveSheet()->getStyle('B' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
+            $objPHPExcel->getActiveSheet()->getStyle('C' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
+        }
+        $fileName = '应付统计-' . date("m-d");
+        $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]);
+    }
+
 }