|
|
@@ -2023,7 +2023,11 @@ class PurchaseOrderClass extends BaseClass
|
|
|
util::success(['file' => $fileUrl, 'shortFile' => $file]);
|
|
|
}
|
|
|
|
|
|
- public static function exportOrderData($respond, $mainId)
|
|
|
+ /**
|
|
|
+ * 导出采购单明细 Excel。
|
|
|
+ * $searchTimeType 与列表一致:0 开单 entryTime、2 发货 sendTime,只影响文件名里的时间类型标注。
|
|
|
+ */
|
|
|
+ public static function exportOrderData($respond, $mainId, $searchTimeType = 0)
|
|
|
{
|
|
|
$orderList = $respond['list'] ?? [];
|
|
|
if (empty($orderList)) {
|
|
|
@@ -2083,24 +2087,25 @@ class PurchaseOrderClass extends BaseClass
|
|
|
|
|
|
$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()->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', '备注');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('O1', '花材Id');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('P1', '花材名称');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('Q1', '单价');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('R1', '数量');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('S1', '已退数量');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('T1', '金额');
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('U1', '分类');
|
|
|
|
|
|
//设置宽度
|
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
|
|
|
@@ -2131,6 +2136,7 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$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('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
|
$objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
|
@@ -2152,6 +2158,7 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$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('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
|
$objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
|
@@ -2173,6 +2180,7 @@ class PurchaseOrderClass extends BaseClass
|
|
|
$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);
|
|
|
|
|
|
$baseRow = 2;
|
|
|
$x = 0;
|
|
|
@@ -2190,16 +2198,21 @@ class PurchaseOrderClass extends BaseClass
|
|
|
} 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']);
|
|
|
+ $sendTime = $orderData['sendTime'] ?? '';
|
|
|
+ if ($sendTime === '' || strpos($sendTime, '0000-00-00') !== false) {
|
|
|
+ $sendTime = '';
|
|
|
+ }
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $sendTime);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $orderData['orderPrice']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $orderData['tkPrice']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $orderData['actPrice']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $orderData['ghsName']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $orderData['shopAdminName']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('J' . $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);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('K' . $i, $statusName);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, $orderData['printNum'] ?? 0);
|
|
|
$debtName = '';
|
|
|
if ($orderData['debt'] == 1) {
|
|
|
$debtName = '未结清';
|
|
|
@@ -2207,20 +2220,20 @@ class PurchaseOrderClass extends BaseClass
|
|
|
if ($orderData['debt'] == 2) {
|
|
|
$debtName = '已结清';
|
|
|
}
|
|
|
- $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, $debtName);
|
|
|
- $objPHPExcel->getActiveSheet()->setCellValue('M' . $i, $orderData['remark']);
|
|
|
- $objPHPExcel->getActiveSheet()->setCellValue('N' . $i, $orderInfo['productId']);
|
|
|
- $objPHPExcel->getActiveSheet()->setCellValue('O' . $i, $orderInfo['name']);
|
|
|
- $objPHPExcel->getActiveSheet()->setCellValue('P' . $i, $orderInfo['bigPrice']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('M' . $i, $debtName);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('N' . $i, $orderData['remark']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('O' . $i, $orderInfo['productId']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('P' . $i, $orderInfo['name']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('Q' . $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);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('R' . $i, $remainNum);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('S' . $i, $orderInfo['refundNum']);
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('T' . $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()->setCellValue('U' . $i, $className);
|
|
|
|
|
|
//居左
|
|
|
$objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
|
@@ -2243,10 +2256,12 @@ class PurchaseOrderClass 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);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- $fileName = '采购单明细-' . time();
|
|
|
+ $timeTypeName = $searchTimeType === 2 ? '发货时间' : '开单时间';
|
|
|
+ $fileName = '采购单明细-' . $timeTypeName . '-' . time();
|
|
|
$objPHPExcel->getActiveSheet()->setTitle($fileName);
|
|
|
$objPHPExcel->setActiveSheetIndex(0);
|
|
|
$dir = './priceTable/' . $mainId;
|