|
@@ -77,27 +77,69 @@ class Export extends BaseController
|
|
if ($param['apply_id'] != '') $where[] = ['a.apply_id', '=', $param['apply_id']];
|
|
if ($param['apply_id'] != '') $where[] = ['a.apply_id', '=', $param['apply_id']];
|
|
if ($param['apply_name'] != '') $where[] = ['a.apply_name', 'like', '%' . $param['apply_name'] . '%'];
|
|
if ($param['apply_name'] != '') $where[] = ['a.apply_name', 'like', '%' . $param['apply_name'] . '%'];
|
|
|
|
|
|
- $status = [0 => '上传发票', 1 => '待识别验证', 2 => '待校验识别', 3 => '待财务审核', 4 => '待认证', 5 => '认证成功待确认完成', 6 => '回票完成7识别失败', 8 => '验证失败', 9 => '财务驳回', 10 => '认证失败', 11 => '校验超过次数第二天校验', 12 => '回票申请废弃已结束',];//认证状态
|
|
|
|
|
|
+ $status = [1 => '待系统验证', 2 => '买方公司审核', 3 => '待买方公司认证', 4 => '认证成功', 5 => '验证失败', 6 => '买方审核驳回', 7 => '认证失败', 8 => '回票流程终止', 9 => '验证超次数', 10 => '回票已退'];//认证状态
|
|
|
|
+
|
|
$invoiceType = ['special' => '增值税专用发票', 'normal' => '增值税普通发票', 'electronic' => '增值税电子普通发票', 'special_electronic' => '增值税电子专用发票', 'toll' => '增值税电子普通发票(通行费)', 'roll' => '增值税普通发票(卷票)', 'fully_digitalized_special_electronic' => '全电专用发票', 'fully_digitalized_normal_electronic' => '全电专用发票'];//发票类型
|
|
$invoiceType = ['special' => '增值税专用发票', 'normal' => '增值税普通发票', 'electronic' => '增值税电子普通发票', 'special_electronic' => '增值税电子专用发票', 'toll' => '增值税电子普通发票(通行费)', 'roll' => '增值税普通发票(卷票)', 'fully_digitalized_special_electronic' => '全电专用发票', 'fully_digitalized_normal_electronic' => '全电专用发票'];//发票类型
|
|
|
|
|
|
$list = Db::name('pay_invoice')
|
|
$list = Db::name('pay_invoice')
|
|
->alias('a')
|
|
->alias('a')
|
|
->leftJoin('pay b', 'a.payNo=b.payNo')
|
|
->leftJoin('pay b', 'a.payNo=b.payNo')
|
|
- ->leftJoin('invoice_info c', 'c.hpNo=a.hpNo AND c.status=1')
|
|
|
|
- ->field('"" 序号,a.hpNo 回票申请编号,DATE_FORMAT(a.addtime,"%Y") 年,DATE_FORMAT(a.addtime,"%m") 月,a.invoiceNumber 发票号,a.open_time 开票日期,a.inv_fee 金额,c.subtotal_tax 税额,"" 税率,b.total_fee 总额,b.supplierName 供应商,"采购回票" 业务类型,a.invoiceType 发票类型,a.status 认证状态,a.updatetime 认证时间,a.remark 备注')
|
|
|
|
|
|
+ ->leftJoin('invoice_info c', 'c.hpNo=a.hpNo')
|
|
|
|
+ ->field('"" 序号,a.hpNo,a.addtime,a.invoiceNumber,a.open_time,b.total_fee,b.supplierName,a.invoiceType,a.status,a.updatetime,a.remark,c.item_list')
|
|
->where($where)
|
|
->where($where)
|
|
- ->withAttr('发票类型', function ($val) use ($invoiceType) {
|
|
|
|
- return $invoiceType[$val] ?? '';
|
|
|
|
- })->withAttr('认证状态', function ($val) use ($status) {
|
|
|
|
- return $status[$val] ?? '';
|
|
|
|
- })
|
|
|
|
->order('a.addtime desc')
|
|
->order('a.addtime desc')
|
|
- ->select()
|
|
|
|
- ->toArray();
|
|
|
|
-
|
|
|
|
- if (empty($list)) $list[] = ['导出数据为空' => ''];
|
|
|
|
-
|
|
|
|
- excelExport('进项发票等级导出', array_keys($list[0]), $list);
|
|
|
|
|
|
+ ->cursor();
|
|
|
|
+
|
|
|
|
+ $data = [];
|
|
|
|
+ $i = 0;
|
|
|
|
+ foreach ($list as $item) {
|
|
|
|
+ if ($item['item_list']) {
|
|
|
|
+ $item_list = json_decode($item['item_list'], true);
|
|
|
|
+ foreach ($item_list as $val) {
|
|
|
|
+ $data[] = [
|
|
|
|
+ '序号' => $i++,
|
|
|
|
+ '回票申请编号' => $item['hpNo'],
|
|
|
|
+ '年' => date('Y', strtotime($item['addtime'])),
|
|
|
|
+ '月' => date('m', strtotime($item['addtime'])),
|
|
|
|
+ '发票号' => $item['invoiceNumber'],
|
|
|
|
+ '开票日期' => $item['open_time'],
|
|
|
|
+ '金额' => $val['amount'],
|
|
|
|
+ '税额' => $val['tax'],
|
|
|
|
+ '税率' => $val['tax_rate'],
|
|
|
|
+ '总额' => $item['total_fee'],
|
|
|
|
+ '供应商' => $item['supplierName'],
|
|
|
|
+ '业务类型' => '采购回票',
|
|
|
|
+ '发票类型' => $invoiceType[$item['invoiceType']] ?? '',
|
|
|
|
+ '认证状态' => $status[$item['status']] ?? '',
|
|
|
|
+ '认证时间' => $item['updatetime'],
|
|
|
|
+ '备注' => $item['remark'],
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ $data[] = [
|
|
|
|
+ '序号' => $i++,
|
|
|
|
+ '回票申请编号' => $item['hpNo'],
|
|
|
|
+ '年' => date('Y', strtotime($item['addtime'])),
|
|
|
|
+ '月' => date('m', strtotime($item['addtime'])),
|
|
|
|
+ '发票号' => $item['invoiceNumber'],
|
|
|
|
+ '开票日期' => $item['open_time'],
|
|
|
|
+ '金额' => '',
|
|
|
|
+ '税额' => '',
|
|
|
|
+ '税率' => '',
|
|
|
|
+ '总额' => $item['total_fee'],
|
|
|
|
+ '供应商' => $item['supplierName'],
|
|
|
|
+ '业务类型' => '采购回票',
|
|
|
|
+ '发票类型' => $invoiceType[$item['invoiceType']] ?? '',
|
|
|
|
+ '认证状态' => $status[$item['status']] ?? '',
|
|
|
|
+ '认证时间' => $item['updatetime'],
|
|
|
|
+ '备注' => $item['remark'],
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (empty($data)) $data[] = ['导出数据为空' => ''];
|
|
|
|
+
|
|
|
|
+ excelExport('进项发票等级导出', array_keys($data[0]), $data);
|
|
}
|
|
}
|
|
|
|
|
|
//资金认领导出
|
|
//资金认领导出
|