ipaylinks excel导出没有交易号的; HT中查询不到记录的

feature/trippest
lyt 7 years ago
parent 8a6b4ba1d8
commit 3d293d802a

@ -16,13 +16,108 @@ class Report extends CI_Controller
}
/*!
* 差集: 对账单 > HT收款记录
* 差集:
* @author LYT <lyt@hainatravel.com>
* @date 2018-03-26
* @param POST 时间区间
*/
public function unstore_statement($begin_m=NULL, $end_m=NULL)
{
/*! 对账单 > HT收款记录 */
$ret = $this->Report_model->ipaylinks_abnormal_in_HT();
$no_dealId = $this->Report_model->HT_no_dealId();
if (empty($ret) && empty($no_dealId)) {
echo "Not Found records.";
return;
}
$this->load->library('PHPExcel');
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
//set width
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('k')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20);
// 对齐
$objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
/** HT中没有找到相应交易号的记录, 对账单中存在 */
$objPHPExcel->getActiveSheet()
->SetCellValue('A1', 'HT中没有找到相应交易号的记录, 对账单中存在');
// 表标题行
$objPHPExcel->getActiveSheet()
->SetCellValue('A2', '#')
->SetCellValue('B2', '渠道')
->SetCellValue('C2', '对账类型')
->SetCellValue('D2', '订单号')
->SetCellValue('E2', '申请币种')
->SetCellValue('F2', '申请金额')
->SetCellValue('G2', '清算汇率')
->SetCellValue('H2', '入账币种')
->SetCellValue('I2', '入账金额')
->SetCellValue('J2', '手续费')
->SetCellValue('K2', '交易号')
->SetCellValue('L2', '交易日期')
->SetCellValue('M2', '备注');
$rowCount = 3;
foreach ($ret as $key => $row) {
$objPHPExcel->getActiveSheet()
->SetCellValue('A'.$rowCount, ($rowCount-1))
->setCellValueExplicit('B'.$rowCount, "iPaylinks",PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('C'.$rowCount, $row->PR_dealType,PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('D'.$rowCount, $row->PR_orderId,PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('E'.$rowCount, $row->PR_currency,PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('F'.$rowCount, number_format($row->PR_amount, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('G'.$rowCount, number_format($row->PR_rate, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('H'.$rowCount, $row->PR_entryCurrency,PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('I'.$rowCount, number_format($row->PR_entryAmount, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('J'.$rowCount, number_format($row->PR_fee, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('K'.$rowCount, $row->PR_AccreditNo,PHPExcel_Cell_DataType::TYPE_STRING)
->SetCellValue('L'.$rowCount, $row->PR_paymentTime);
$rowCount++;
}
$rowCount++; // 隔一行
/** HT手动录入的 */
$objPHPExcel->getActiveSheet()
->SetCellValue('A'.$rowCount, 'HT系统中缺少交易号的手动录入的')
->SetCellValue('M'.$rowCount, '备注');
$rowCount++;
foreach ($no_dealId as $key2 => $row2) {
$objPHPExcel->getActiveSheet()
->SetCellValue('A'.$rowCount, ($key2+1))
->setCellValueExplicit('B'.$rowCount, "iPaylinks",PHPExcel_Cell_DataType::TYPE_STRING)
// ->setCellValueExplicit('C'.$rowCount, "",PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('D'.$rowCount, $row2->COLI_ID,PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('E'.$rowCount, $row2->GAI_SQJECurrency,PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit('F'.$rowCount, number_format($row2->GAI_SQJE, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
// ->setCellValueExplicit('G'.$rowCount, number_format($row2->PR_rate, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
// ->setCellValueExplicit('H'.$rowCount, $row2->PR_entryCurrency,PHPExcel_Cell_DataType::TYPE_STRING)
// ->setCellValueExplicit('I'.$rowCount, number_format($row2->PR_entryAmount, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
// ->setCellValueExplicit('J'.$rowCount, number_format($row2->PR_fee, 2, ".", ""),PHPExcel_Cell_DataType::TYPE_STRING)
// ->setCellValueExplicit('K'.$rowCount, $row2->PR_AccreditNo,PHPExcel_Cell_DataType::TYPE_STRING)
->SetCellValue('L'.$rowCount, $row2->GAI_AccountDate)
->SetCellValue('M'.$rowCount, $row2->GAI_Memo);
$rowCount++;
}
$filename = "export_ipaylinks_abnormal_" . date('Y-m-d');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $filename . '.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
/*!

@ -58,4 +58,76 @@ class Report_model extends CI_Model {
return $query;
}
/*!
* 在ipaylinks对账单中, 未找到对应的HT订单记录
* * 金额不相等(包括退款后金额不等)
* * HT中没有自动录入的收款记录, 收款记录被删除或没有成功录入(需要查询问题)
* @author LYT <lyt@hainatravel.com>
* @date 2018-03-28
* @return [type] [description]
*/
public function ipaylinks_abnormal_in_HT()
{
$sql = "SELECT PR.*
FROM [InfoManager].[dbo].[PaymentReports] pr
WHERE pr.PR_dealType='清算' and PR_payType='15018'
EXCEPT
SELECT PR.*
FROM [InfoManager].[dbo].[PaymentReports] pr
INNER JOIN Tourmanager.dbo.BIZ_GroupAccountInfo bgai ON bgai.GAI_COLI_ID=pr.PR_orderId
AND pr.PR_dealType='清算'
INNER JOIN Tourmanager.dbo.BIZ_ConfirmLineInfo bcoli ON bcoli.COLI_SN=bgai.GAI_COLI_SN
AND bcoli.COLI_Department = 16 WHERE PR_amount=bgai.GAI_SQJE and PR_payType='15018'
AND GAI_SQJECurrency=PR_currency
EXCEPT
SELECT PR.*
FROM Tourmanager.dbo.GroupAccountInfo gai
INNER JOIN Tourmanager.dbo.ConfirmLineInfo coli ON coli.COLI_SN=gai.GAI_COLI_SN
AND coli.COLI_Department <> 16
INNER JOIN [InfoManager].[dbo].[PaymentReports] pr ON gai.GAI_AccreditNo=pr.PR_AccreditNo WHERE pr.PR_dealType='清算'
AND PR_amount = gai.GAI_SQJE and PR_payType='15018'
EXCEPT
SELECT PR.*
FROM Tourmanager.dbo.BIZ_GroupAccountInfo bgai
INNER JOIN Tourmanager.dbo.BIZ_ConfirmLineInfo bcoli ON bcoli.COLI_SN=bgai.GAI_COLI_SN
AND bcoli.COLI_Department <> 16
INNER JOIN [InfoManager].[dbo].[PaymentReports] pr ON bgai.GAI_AccreditNo=pr.PR_AccreditNo WHERE pr.PR_dealType='清算'
AND PR_amount = bgai.GAI_SQJE and PR_payType='15018'
ORDER BY PR_paymentTime asc ";
$query = $this->INFO->query($sql);
return $query->result();
}
public function HT_no_dealId()
{
$sql = "SELECT GAI_Type,Bgai1.GAI_SQJECurrency,GAI_SQJE,
Bgai1.GAI_Memo ,
'商务--B' AS orderType,
bcoli.COLI_SN,
bcoli.COLI_ID AS COLI_ID,
Bgai1.GAI_AccountDate
FROM Tourmanager.dbo.BIZ_GroupAccountInfo Bgai1
INNER JOIN Tourmanager.dbo.BIZ_ConfirmLineInfo bcoli ON bgai1.GAI_COLI_SN=bcoli.COLI_SN
WHERE Bgai1.GAI_Type IN ('15018')
AND Bgai1.GAI_AccreditNo IS NULL
AND Bgai1.GAI_SQJE > 0
AND bcoli.COLI_Department <> 16
UNION
SELECT GAI_Type,gai1.GAI_SQJECurrency,GAI_SQJE,
gai1.GAI_Memo ,
'传统--T' AS orderType,
coli.COLI_SN,
coli.COLI_ID AS COLI_ID,
gai1.GAI_AccountDate
FROM Tourmanager.dbo.GroupAccountInfo gai1
INNER JOIN Tourmanager.dbo.ConfirmLineInfo coli ON gai1.GAI_COLI_SN=coli.COLI_SN
WHERE gai1.GAI_Type IN ('15018')
AND gai1.GAI_AccreditNo IS NULL
AND gai1.GAI_SQJE > 0
AND coli.COLI_Department <> 16
ORDER BY GAI_AccountDate ";
$query = $this->INFO->query($sql);
return $query->result();
}
}

Loading…
Cancel
Save