wugg 2 years ago
parent
commit
cb1f00c336
2 changed files with 42 additions and 11 deletions
  1. 15 0
      app/admin/command/GetOrderInfoAndInvoiceInfo.php
  2. 27 11
      app/admin/controller/OrderInv.php

+ 15 - 0
app/admin/command/GetOrderInfoAndInvoiceInfo.php

@@ -61,6 +61,7 @@ class GetOrderInfoAndInvoiceInfo extends Command
 				if($zt=='030000'){
 					$data= $value['DDFPXX'];
 					$data['itemlist'] = $value['DDMXXX'];
+					$this->updateGood($value['DDMXXX']);
 					$exit= json_encode($data,JSON_UNESCAPED_UNICODE);
 					Db::name("invoice_interface")->where(["DDQQLSH"=>$value['DDFPXX']['DDQQLSH']])->update(["status"=>2,"result"=>$exit,"remark"=>$ztxx,"updatetime"=>date("Y-m-d H:i:s")]);
 				}
@@ -115,5 +116,19 @@ class GetOrderInfoAndInvoiceInfo extends Command
 			$invinfo["item"]=json_encode($json['itemlist'],JSON_UNESCAPED_UNICODE);
 			Db::name("invoice_ticket")->save($invinfo);
 		}
+
     }
+    private function updateGood($data,$invNo){
+			if(empty($data))return;
+			foreach ($data as $value){
+				if($value['GGXH']!=''){
+				$invinfo =Db::name("invoice_good")->where(["invNo"=>$invNo,"orderCode"=>$value['GGXH'],'is_del'=>0])->findOrEmpty();
+				if(empty($invinfo)) continue;
+				$invinfo['goodPrice'] = $value['DJ'];
+				$invinfo['totalPrice'] = $value['JE'];
+				$invinfo['taxPrice'] = $value['SE'];
+				Db::name("invoice_good")->save($invinfo);
+				}
+			}
+		}
 }

+ 27 - 11
app/admin/controller/OrderInv.php

@@ -894,6 +894,7 @@ class OrderInv extends BaseController{
         ->leftJoin("invoice_ticket c","a.invNo=c.invNo")
         ->where($condition)->field("b.*,a.*,c.inv_code,c.inv_number,c.open_date")
         ->page($page,$size)->order("a.addtime desc")->select()->toArray();
+        foreach ($list as &$value) $value['open_date']='2022-06-07';
         return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
     }
     //获取发票详情
@@ -994,7 +995,7 @@ class OrderInv extends BaseController{
 		if(!in_array($invfo['status'],[1,2,3,4,5]))return error_show(1004,"发票数据状态无法申请");
 		$ticket =Db::name("invoice_ticket")->where(["invNo"=>$invNo])->findOrEmpty();
 		if(empty($ticket)) return error_show(1004,"未找到开票信息");
-		$company =Db::name("company_info")->where(["companyNo"=>$invfo['inv_out']])->findOrEmpty();
+		$company =Db::name("company_info")->where(["companyNo"=>'GS2207150956046617'])->findOrEmpty();
 		if(empty($company)) return error_show(1004,"业务企业信息未找到");
 		$invoice=Config::get("invoice");
 		$Tax =new \TaxInvoice($invoice['appKey'],$invoice['appSecret'],$invoice['entCode']);
@@ -1007,17 +1008,17 @@ class OrderInv extends BaseController{
 		];
 		$goodinfo =Db::name("invoice_good")
             		->where(["invNo"=>$invNo,"is_del"=>0])
-            		->field("0 as FPHXZ, 
+            		->field("6 as FPHXZ, 
 									catNo  as SPBM,
 									id as ZXBM,
 									is_discount as YHZCBS,
 									if(inv_tag=0,'',inv_tag) as  LSLBS,
 									addTax	as ZZSTSGL,
 									goodName as XMMC,
-									unitName as DW,
-									-goodNum as SPSL,
-									goodPrice as DJ,
-									-totalPrice as JE,
+									'' as DW,
+									'' as SPSL,
+									'' as DJ,
+									(-totalPrice+taxPrice) as JE,
 									1 HSBZ,
 									tax as SL,
 									-taxPrice as SE")->select()->toArray();
@@ -1025,6 +1026,21 @@ class OrderInv extends BaseController{
 						Db::rollback();
 	                    return error_show(1004,"开票商品信息未找到");
 					}
+	    $len =array_unique(array_column($goodinfo,'SL'));
+	    $qdmx=["FPHXZ"=>6,
+		    "SPBM"=>'',
+		    "XMMC"=>"详见对应正数发票及清单",
+		    "YHZCBS"=>0,
+		    "LSLBS"=>'',
+		    "ZZSTSGL"=>'',
+		    "DW"=>'',
+		    "SPSL"=>'',
+		    "DJ"=>'',
+		    "JE"=>sprintf("%01.2f", (array_sum(array_column($goodinfo,'JE')))),
+		    "HSBZ"=>'0',
+		    "SL"=>count($len)>1?'':$len[0],
+		    "SE"=>sprintf("%01.2f",array_sum(array_column($goodinfo,'SE'))),
+	    ];
 		$info=[
 			"SQBSCQQLSH"=>randomkeys(29).date("YmdHis"),
 			"YYSBZ"=> "0000000000", //营业税标志
@@ -1039,11 +1055,11 @@ class OrderInv extends BaseController{
 			 "GMFMC"=> $ticket['buyer_title'],
 			 "HJJE"=> "-".$ticket['inv_total'],//合计金额(不含 税)
 			 "HJSE"=>"-".$ticket['tax_fee'],//合计税额
-			 "SQSM"=>"", //申请说明
+			 "SQSM"=>"1100000000", //申请说明
 			 "XXBTSBS"=>"0",//0: 正常;1:成品油发票,涉及销售数量 变更(销货退回、开票有误等原因);2: 成品油发票,仅涉及销售金额变更(销 售折让);3:机动车发票,仅涉及销售数
 //量变更(销货退回、开票有误等原因);4: 机动车发票,仅涉及销售金额变更(销 售折让)
 		];
-					$invRed=makeNo("IRE");
+		$invRed=makeNo("IRE");
 		$data=[
 			'invNo'=>$invNo,
 			"invRed"=>$invRed,
@@ -1066,13 +1082,13 @@ class OrderInv extends BaseController{
 			 "GMFMC"=> $ticket['buyer_title'],
 			 "HJJE"=> "-".$ticket['inv_total'],//合计金额(不含 税)
 			 "HJSE"=>"-".$ticket['tax_fee'],//合计税额
-			 "SQSM"=>"", //申请说明
+			 "SQSM"=>"1100000000", //申请说明
 			 "XXBTSBS"=>"0",
-			 "DDMXX"=>json_encode($goodinfo,JSON_UNESCAPED_UNICODE),
+			 "DDMXXX"=>json_encode($qdmx,JSON_UNESCAPED_UNICODE),
 			 "SQBSCQQPCH"=>$redticketArry['SQBSCQQPCH'],
 			  "FPLXDM"=>invoiceType($invfo['inv_type']),
 		];
-		$redticketList[]=["HZSQDTXX"=>$info,"DDMXXX"=>$goodinfo];
+	    $redticketList[]=["HZSQDTXX"=>$info,"DDMXXX"=>$qdmx];
 		$result=$Tax->AllocateRedInvoiceApplication($redticketArry,$redticketList);
 		$data['status']=5;
 		$data['remark']='红冲申请提交失败';