wugg 2 years ago
parent
commit
32fadcdafd
2 changed files with 85 additions and 77 deletions
  1. 1 1
      app/admin/controller/Export.php
  2. 84 76
      app/command/Report.php

+ 1 - 1
app/admin/controller/Export.php

@@ -123,7 +123,7 @@ class Export extends BaseController
 		          d.totalPrice 总价,
 		          a.inv_type 开票种类,
 		          a.open_type 开票方式,
-				  a.exam_remark 申请备注,
+		          a.exam_remark 申请备注,
 		          a.remark 发票备注')
 		          ->leftJoin('invoice_pool_info b', 'a.invNo=b.invNo')
 		          ->leftJoin('invoice_ticket c', 'a.invNo=c.invNo AND c.type=0 AND c.status=1')

+ 84 - 76
app/command/Report.php

@@ -237,66 +237,35 @@ class Report extends Command
 		          ->alias('a')
 		          ->leftJoin('pay b', 'a.payNo=b.payNo')
 		          ->leftJoin('invoice_info c', 'c.hpNo=a.hpNo AND c.status=1')
-		          ->field('"" 序号,a.payNo,a.hpNo,a.addtime,a.invoiceNumber,a.open_time,b.supplierName,a.invoiceType,a.status,a.updatetime,a.remark,c.item_list,c.total,c.subtotal_amount,c.subtotal_tax')
+		          ->field('"" 序号,
+		          a.payNo 对账编号,
+		          a.hpNo 回票申请编号,
+		          DATE_FORMAT(a.addtime,\'%Y\') 年,
+		          DATE_FORMAT(a.addtime,\'%m\') 月,
+		          a.invoiceNumber 发票号,
+		          a.open_time 开票日期,
+		          b.supplierName 供应商,
+		          a.invoiceType 发票类型,
+		          "" as 业务类型,
+		          a.status 认证状态,
+		          a.updatetime 认证时间,
+		          a.remark 备注,
+		          c.total 总额,
+		          c.subtotal_amount 金额,
+		          c.subtotal_tax 税额')
 		          ->where($where)
 		          ->order('a.addtime desc')
 		          ->cursor();
 
-		$data = [];
-		$i = 1;
+		$i=1;
 		foreach ($list as $item) {
+				$item['序号'] = $i;
+				$item['业务类型'] = '采购回票';
+				$item['认证状态'] = $status[$item['认证状态']]??"";
+				$item['发票类型'] = $invoiceType[$item['发票类型']]??"";
+				$i++;
+				yield  $item;
 
-			if ($item['item_list']) {
-				$item_list = json_decode($item['item_list'], true);
-				foreach ($item_list as $val) {
-					$tp = [
-						'序号' => $i++,
-						'回票申请编号' => $item['hpNo'],
-						'对账编号' => $item['payNo'],
-						'年' => date('Y', strtotime($item['addtime'])),
-						'月' => date('m', strtotime($item['addtime'])),
-						'发票号' => $item['invoiceNumber'],
-						'开票日期' => $item['open_time'],
-                        '金额汇总'=>$item['subtotal_amount'],
-						'金额' => $val['amount'],
-                        '税额汇总'=>$item['subtotal_tax'],
-                        '税额' => $val['tax'],
-						'税率' => $val['tax_rate'],
-						'总额' => $item['total'],
-						'供应商' => $item['supplierName'],
-						'业务类型' => '采购回票',
-						'发票类型' => $invoiceType[$item['invoiceType']] ?? '',
-						'认证状态' => $status[$item['status']] ?? '',
-						'认证时间' => $item['updatetime'],
-						'备注' => $item['remark'],
-					];
-
-					yield  $tp;
-				}
-			} else {
-				$tp = [
-					'序号' => $i++,
-					'回票申请编号' => $item['hpNo'],
-					'对账编号' => $item['payNo'],
-					'年' => date('Y', strtotime($item['addtime'])),
-					'月' => date('m', strtotime($item['addtime'])),
-					'发票号' => $item['invoiceNumber'],
-					'开票日期' => $item['open_time'],
-                    '金额汇总'=>$item['subtotal_amount'],
-                    '金额' => '',
-                    '税额汇总'=>$item['subtotal_tax'],
-                    '税额' => '',
-					'税率' => '',
-                    '总额' => $item['total'],
-					'供应商' => $item['supplierName'],
-					'业务类型' => '采购回票',
-					'发票类型' => $invoiceType[$item['invoiceType']] ?? '',
-					'认证状态' => $status[$item['status']] ?? '',
-					'认证时间' => $item['updatetime'],
-					'备注' => $item['remark'],
-				];
-				yield  $tp;
-			}
 		}
 	}
 
@@ -406,10 +375,45 @@ class Report extends Command
 
 		$data = Db::name('pay_invoice')
 		          ->alias('a')
-		          ->field('d.cgdTime 采购单下单日期,b.companyName 业务公司名称,b.companyNo 业务公司编号,a.hpNo 对账回票编号,a.payNo 对账单号,c.cgdNo 采购单编号,a.check_time 本次回票时间,a.invoiceNumber 发票号,a.inv_amount 本次回票金额,a.inv_subtotal_amount 不含税采购成本,
-            "" 税额,
-            "" 票面税率,
-            d.companyName 公司回票抬头,d.goodNo 商品编号,d.firstCat 一级分类,d.fundCode 核算码,d.goodName 商品名称,d.goodNum 商品数量,d.goodUnit 单位,d.cgdSource 采购单类型,d.ownerName 采购员,d.supplierName 供应商名称,d.supplierNo 供应商编号,d.goodType 商品类型,round(d.tax/100,2) 税率,d.packPrice 包装费,d.certPrice 证书费,d.markPrice 加标费,d.openPrice 开模费,d.costPrice 成本工艺费,d.deliveryPrice 物流费,d.barePrice 成本单价,d.diff_weight 工差,d.diff_fee 工差金额,d.goodPrice 单价,d.totalPrice 采购总货款,d.qrdCode 确认单编号,d.bkCode 备库编号,d.thNum 退货数量,d.th_fee 退货金额,e.item_list')
+		          ->field('d.cgdTime 采购单下单日期,
+		          b.companyName 业务公司名称,
+		          b.companyNo 业务公司编号,
+		          a.hpNo 对账回票编号,
+		          a.payNo 对账单号,
+		          c.cgdNo 采购单编号,
+		          a.check_time 本次回票时间,
+		          a.invoiceNumber 发票号,
+		          a.inv_amount 本次回票金额,
+		          "" 不含税采购成本,
+	                "" 税额,
+                    d.companyName 公司回票抬头,
+                    d.goodNo 商品编号,
+                    d.firstCat 一级分类,
+                    d.fundCode 核算码,
+                    d.goodName 商品名称,
+                    d.goodNum 商品数量,
+                    d.goodUnit 单位,
+                    d.cgdSource 采购单类型,
+                    d.ownerName 采购员,
+                    d.supplierName 供应商名称,
+                    d.supplierNo 供应商编号,
+                    d.goodType 商品类型,
+                    round(d.tax/100,2) 税率,
+                    d.packPrice 包装费,
+                    d.certPrice 证书费,
+                    d.markPrice 加标费,
+                    d.openPrice 开模费,
+                    d.costPrice 成本工艺费,
+                    d.deliveryPrice 物流费,
+                    d.barePrice 成本单价,
+                    d.diff_weight 工差,
+                    d.diff_fee 工差金额,
+                    d.goodPrice 单价,
+                    d.totalPrice 采购总货款,
+                    d.qrdCode 确认单编号,
+                    d.bkCode 备库编号,
+                    d.thNum 退货数量,
+                    d.th_fee 退货金额')
 		          ->leftJoin('pay b', 'a.payNo=b.payNo')
 		          ->leftJoin('pay_info c', 'c.payNo=a.payNo')
 		          ->leftJoin('cgd_info d', 'd.sequenceNo=c.cgdNo')
@@ -428,19 +432,22 @@ class Report extends Command
 		foreach ($data as $value) {
 			$value['采购单类型'] = $cgdSource[$value['采购单类型']] ?? '';
 			$value['商品类型'] = $goodType[$value['商品类型']] ?? '';
+			$value['不含税采购成本'] = round($value['采购总货款']/(1+$value['税率']),2) ;
+			$value['税额'] = round($value['不含税采购成本']*$value['税率'],2) ;
 
-			$item_list = json_decode($value['item_list'], true);
-
-			unset($value['item_list']);
-			foreach ($item_list as $item) {
-				$value['税额']= $item['tax'] ?? '';
-				$value['票面税率']= $item['tax_rate'] ?? '';
-				//                $list = array_merge($value, [
-				//                    '税额' => $item['tax'] ?? '',
-				//                    '票面税率' => $item['tax_rate'] ?? '',
-				//                ]);
-				yield $value;
-			}
+			yield $value;
+//			$item_list = json_decode($value['item_list'], true);
+//
+//			unset($value['item_list']);
+//			foreach ($item_list as $item) {
+//				$value['税额']= $item['tax'] ?? '';
+//				$value['票面税率']= $item['tax_rate'] ?? '';
+//				//                $list = array_merge($value, [
+//				//                    '税额' => $item['tax'] ?? '',
+//				//                    '票面税率' => $item['tax_rate'] ?? '',
+//				//                ]);
+//				yield $value;
+//			}
 
 		}
 
@@ -474,7 +481,7 @@ class Report extends Command
             a.pay_source 支付来源,
             "" 活动类型,
             a.sequenceNo 确认单编号,
-            a.cxCode 销售订单号,
+            if(a.cxCode="",a.sequenceNo,a.cxCode) 销售订单号,
             b.bkCode 备库单编号,
             b.sequenceNo 采购单单号,
             a.platName 平台类型,
@@ -553,13 +560,14 @@ class Report extends Command
 		          ->field('
             a.invNo 发票申请编号,
             m.orderCode 确认单编号,
-            e.cxCode 销售主单编号,
+            if(e.cxCode="",m.orderCode,e.cxCode) 销售主单编号,
             e.qrdSource 销售来源,
             b.seller_title 销售方抬头,
             e.department 业务部门,
             e.ownerName 业务人员,
             m.goodNum 本次开票数量,
             m.totalPrice 本次开票金额,
+            e.goodPrice 销售单价,
             c.open_date 本次开票时间,
             c.inv_number 发票号,
             m.tax 开票税点,
@@ -639,7 +647,7 @@ class Report extends Command
             a.companyName 业务公司名称,
             a.companyNo 业务公司编号,
             a.sequenceNo 业务订单编号,
-            a.cxCode 销售订单主编号,
+            if(a.cxCode="",a.sequenceNo,a.cxCode) 销售订单主编号,
             a.department 销售部门,
             a.ownerName 销售员,
             a.qrdSource 订单来源,
@@ -712,7 +720,7 @@ class Report extends Command
 
 		$where = [['a.is_del', '=', 0], ['c.is_del', '=', 0], ['d.is_del', '=', 0], ['e.is_del', '=', 0]];
 
-		if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.addtime', 'between', [$param['start'], $param['end']]];
+		if (($param['start'] != '') && ($param['end'] != '')) $where[] = ['a.check_time', 'between', [$param['start'], $param['end']]];
 		if ($param['companyNo'] != '') $where[] = ['e.companyNo', '=', $param['companyNo']];
 
 		$data = Db::name('pay_invoice')
@@ -788,7 +796,7 @@ class Report extends Command
         createdTime '采购时间',
         cgdType '采购单类型',
         if(qrdCode='',bkCode,qrdCode) '确认单编号/备库单编号',
-        cxCode '销售单主单号',
+        if(cxCode='',sequenceNo,cxCode) '销售单主单号',
         goodNo '商品编号',
         goodName '商品名称',
         firstCat '一级分类',
@@ -906,7 +914,7 @@ class Report extends Command
 	b.pay_source 支付渠道,
 	'' 活动类型,
 	b.sequenceNo 订单编号,
-	b.cxCode 销售订单编号,
+	if(b.cxCode='',b.sequenceNo,b.cxCode) 销售订单编号,
 	c.bkCode 备库编号,
 	b.cgdNo 采购单号,
 	b.platName 平台类型,