| 编号 |
名称 |
数量 |
单位 |
单价 |
金额 |
备注 |
{$tableList}
{$tkString}
本单:{$actPrice}
上次欠款:{$beforeDebtPrice}
待付欠款:{$debtAmount}
{$balanceContent}
XL;
}
}
$content .= <<
XL;
$file = $dir . $orderSn . '.html';
$imgFile = $dir . $orderSn . '.png';
if (file_exists($file)) {
unlink($file);
}
if (file_exists($imgFile)) {
unlink($imgFile);
}
file_put_contents($file, $content);
$con = new Converter(null, [
"fmt" => "png",
"in" => $file,
"out" => $imgFile,
]);
$con->convert();
return ['imgFile' => $imgFile];
}
//应收统计下载 ssh 20240530
public static function exportAccountList($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()->setCellValue('D1', '订单数');
//设置宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->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('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);
$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()->setCellValue('D' . $i, $custom['num']);
//居左
$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);
}
$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]);
}
//应收统计下载 ssh 20240530
public static function exportPastList($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()->setCellValue('D1', '欠款金额');
//设置宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->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('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);
$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['mobile']);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $custom['currentDebAmount']);
//居左
$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);
}
$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]);
}
public static function exportYj($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()->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()->getColumnDimension('B')->setWidth(20);
$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('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('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);
$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['mobile']);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $custom['num']);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $custom['orderPrice']);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $custom['tkPrice']);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $custom['actPrice']);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $custom['carton']);
$objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $custom['pack']);
$objPHPExcel->getActiveSheet()->setCellValue('J' . $i, $custom['freight']);
//居左
$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);
}
$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]);
}
public static function printLogisticsLabel($order, $shop, $ext)
{
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
$orderMainId = $order->mainId;
if (getenv('YII_ENV') == 'production') {
$map = [65726, 58];
} else {
$map = [828, 0];
}
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
$customId = $order->customId ?? 0;
$custom = CustomClass::getById($customId, true);
if (empty($custom)) {
if (!in_array($orderMainId, $map)) {
util::fail('没有找到客户');
} else {
return false;
}
}
$shortName = $custom->shortName ?? '';
$shortName = stringUtil::subStringUtf8($shortName, 5);
$customMobile = $order->customMobile ?? '';
if (empty($customMobile)) {
if (!in_array($orderMainId, $map)) {
util::fail('客户手机号无效');
} else {
return false;
}
}
$customName = $order->customName ?? '';
$shortMobile = substr($customMobile, -4);
$remark = $order->remark ?? '';
$shortRemark = stringUtil::subStringUtf8($remark, 8);
$address = $order->address ?? '';
$floor = $order->floor ?? '';
$fullAddress = $address . $floor;
$shopName = $shop->shopName ?? '';
$sjName = $shop->merchantName;
$currentName = $shopName == '首店' ? $sjName : $sjName . ' ' . $shopName;
$telephone = $shop->telephone ?? '';
$wlLabelSn = $ext->wlLabelSn ?? '';
if (empty($wlLabelSn)) {
if (!in_array($orderMainId, $map)) {
util::fail('请绑定物流标签机');
} else {
return false;
}
}
$p = new printUtil($wlLabelSn);
if (!in_array($orderMainId, $map)) {
if (empty($shortName)) {
util::fail('客户短名没有设置');
}
$p->times = 2;
$content = '' . $shortName . '';
$content .= '地址';
$content .= '' . $shortMobile . '';
$content .= '代码';
$content .= '' . $shortRemark . '';
$content .= '物流';
$content .= '' . $currentName . ' ' . $telephone . '';
} else {
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
$sameTimeIds = $order->sameTimeIds;
$num = 1;
if (!empty($sameTimeIds)) {
$ids = explode(',', $sameTimeIds);
if (!empty($ids)) {
$num = count($ids);
}
}
if ($num > 1) {
$customName = $customName . ' ' . $num . '单';
}
$content = '' . $shortName . '';
$content .= '' . $customName . '';
$content .= '' . $fullAddress . '';
$content .= '' . $customMobile . '';
/**************************如果是好多花的云仓还要再打一下标签纸,多处要同步修改,关键词 hdh_yc *****************************/
}
$p->printLabelMsg($content);
return true;
}
}