wuggemail@foxmail.com 3 tháng trước cách đây
mục cha
commit
7a812ef9bc
3 tập tin đã thay đổi với 74 bổ sung59 xóa
  1. 12 13
      app/admin/controller/ComonOrder.php
  2. 61 45
      app/admin/controller/Export.php
  3. 1 1
      app/common.php

+ 12 - 13
app/admin/controller/ComonOrder.php

@@ -326,7 +326,7 @@ class ComonOrder extends Base
         	]);
         
         $qrdinfo = QrdInfo::whereIn('sequenceNo',array_column($param['orderArr'],"sequenceNo"))
-        ->column("id,sequenceNo,customerNo,customerName,companyNo,companyName,goodNo,goodNum,thNum,inv_fee,winv_fee,
+        ->column("id,sequenceNo,customerNo,customerName,companyNo,companyName,goodNo,goodNum,goodPrice,thNum,inv_fee,winv_fee,
         status,goodUnit,goodName,thirdCat,totalPrice,tax,platform_type","sequenceNo");
         if(empty($qrdinfo))$this->error("订单信息不存在");
         $goodInfo= \app\admin\model\Good::whereIn("spuCode",array_unique(array_column($qrdinfo,"goodNo")))
@@ -363,24 +363,23 @@ class ComonOrder extends Base
         $platform = array_column($qrdinfo,'platform_type');
         if(count(array_unique($platform))!=1){
         	$this->error("订单平台类型不一致");
-//            return error_show(1004,'订单平台类型不一致');
         }
         foreach ($param['orderArr'] as $i=>$item){
         	if($valide->check($item)==false) $this->error($valide->getError());
         	if(!isset($qrdinfo[$item['sequenceNo']]))$this->error("订单 {$item['sequenceNo']} 信息不存在");
         	if($qrdinfo[$item['sequenceNo']]['status']==2)$this->error("订单 {$item['sequenceNo']} 不参与对账");
         	if($qrdinfo[$item['sequenceNo']]['winv_fee']<$item['inv_fee'])$this->error("订单 {$item['sequenceNo']} 待开票金额不足");
-        	$total = InvoicePool::alias("a")->leftJoin('invoice_good b', 'a.invNo=b.invNo and b.is_del=0')
-                     ->where(['a.status' => [0, 1, 2, 3, 4], 'b.orderCode' => $item['sequenceNo']])
-                     ->sum('b.goodNum');
-        	if($total+$item['num']>($qrdinfo[$item['sequenceNo']]['goodNum']-$qrdinfo[$item['sequenceNo']]['thNum']))$this->error("订单 {$item['sequenceNo']} 待开票数量不足");
+        //	$total = InvoicePool::alias("a")->leftJoin('invoice_good b', 'a.invNo=b.invNo and b.is_del=0')
+          //           ->where(['a.status' => [0, 1, 2, 3, 4], 'b.orderCode' => $item['sequenceNo']])
+         //            ->sum('b.goodNum');
+        	//if($total+$item['num']>($qrdinfo[$item['sequenceNo']]['goodNum']-$qrdinfo[$item['sequenceNo']]['thNum']))$this->error("订单 {$item['sequenceNo']} 待开票数量不足");
         	if(!isset($goodInfo[$qrdinfo[$item['sequenceNo']]['goodNo']]))$this->error("订单 {$item['sequenceNo']} 商品类目信息不存在");
         	if($goodInfo[$qrdinfo[$item['sequenceNo']]['goodNo']]['status']!=2)$this->error("订单 {$item['sequenceNo']} 未确认开票类目信息");
-        	$num = \app\admin\model\Assoc::alias('a')
-            ->leftJoin('invoice_good b', 'a.viceCode=b.invNo AND b.orderCode=a.orderCode')
-            ->where(['a.status' => [1, 2], 'a.is_del' => 0, 'a.type' => 1, 'a.orderCode' => $item['sequenceNo']])
-            ->sum('b.goodNum');
-        	if($num+$item['num']>($qrdinfo[$item['sequenceNo']]['goodNum']-$qrdinfo[$item['sequenceNo']]['thNum']))$this->error("订单 {$item['sequenceNo']} 待开票数量不足");
+       // 	$num = \app\admin\model\Assoc::alias('a')
+           // ->leftJoin('invoice_good b', 'a.viceCode=b.invNo AND b.orderCode=a.orderCode')
+         //   ->where(['a.status' => [1, 2], 'a.is_del' => 0, 'a.type' => 1, 'a.orderCode' => $item['sequenceNo']])
+          //  ->sum('b.goodNum');
+        	//if($num+$item['num']>($qrdinfo[$item['sequenceNo']]['goodNum']-$qrdinfo[$item['sequenceNo']]['thNum']))$this->error("订单 {$item['sequenceNo']} 待开票数量不足");
         	$assoc[]=[
         		       'assocNo'=>substr(makeNo('AS'),0,-4).str_pad(strval($i+1),4,'0',STR_PAD_LEFT),
                        'apply_id'=>$this->uid,
@@ -403,9 +402,9 @@ class ComonOrder extends Base
                         'goodName'=>$goodInfo[$qrdinfo[$item['sequenceNo']]['goodNo']]['inv_good_name']??$qrdinfo[$item['sequenceNo']]['goodName'] ,
                         'catName'=>$goodInfo[$qrdinfo[$item['sequenceNo']]['goodNo']]['inv_cat_name']??$qrdinfo[$item['sequenceNo']]['thirdCat'],
                         'catNo'=>$goodInfo[$qrdinfo[$item['sequenceNo']]['goodNo']]['inv_cat_code'],
-                        'goodPrice'=>round($item['inv_fee']/$item['num'],8),
+                        'goodPrice'=>$qrdinfo[$item['sequenceNo']]['goodPrice'],
                         'unitName'=>$qrdinfo[$item['sequenceNo']]['goodUnit'],
-                        'goodNum'=>$item['num'],
+                        'goodNum'=>bcdiv($item['inv_fee'],$qrdinfo[$item['sequenceNo']]['goodPrice'],8),
                         'specInfo'=>$item['sequenceNo'],
                         'totalPrice'=>$item['inv_fee'],
                         'totalTax'=>$item['inv_fee'],

+ 61 - 45
app/admin/controller/Export.php

@@ -3,6 +3,8 @@
 namespace app\admin\controller;
 
 
+use app\admin\model\CompanyInfo;
+use app\admin\model\OrderCategory;
 use think\App;
 use think\facade\Db;
 use think\facade\Validate;
@@ -248,57 +250,71 @@ class Export extends Base
                 ->leftjoin('trade_lib e', 'b.tradNo=e.tradNo')
                 ->leftJoin('assoc c', 'b.logNo=c.viceCode AND c.type = 2 and c.is_del=0')
                 ->leftJoin('qrd_info d', 'c.orderCode=d.sequenceNo and d.is_del=0')
-                ->field('a.companyNo 收款方公司编码,
-                       a.pcCode 资金批次号 ,
-                       a.trade_in 收款单位名称,
-                       a.trade_account 付款银行单位账号,
-                       a.trade_out 付款银行单位名称,
-                       a.trade_used 交易用途,
-                       a.trade_time 交易时间,
-                       a.tradNo 资金编号,
-                       a.status 状态,
-                       a.total_fee 收入金额,
-                       a.balance 未认领金额,
-                       a.used_fee 已认领金额,
-                       b.total_fee 资金认领金额,
-                       b.logNo 资金认领编号,
-                       d.companyNo 业务公司编号,
-                       d.companyName 业务公司名称,
-                       b.customerNo 认领企业,
-                       if(a.trade_type=0,"自营","平台") as 资金回款类型, 
-                       b.relaNo 关联资金认领编号,
-                       if(b.tag_type=0,"手动创建","自动创建") as 操作类型,
-                       if(d.is_comon=1,"通用订单","自营订单") as 订单业务类型,
-                       c.orderCode 订单编号,
-                       d.cxCode 销售主单号,
-                       d.platform_type 平台类型,
-                       d.platName 平台名称,
-                       d.poCode 平台订单编号,
-                       a.poCode 客户PO,
-                       e.palt_po 平台采购PO,
-                       d.goodNo  商品SKU,
-                       e.skuCode 泰e购SKU,
-                       e.goodNo 商品唯一编号,
-                       d.goodName 产品名称,
-                       e.goodName 平台物料名称,
-                       d.goodPrice 商品单价,
-                       e.comPrice 业务公司收入单价,
-                       d.totalPrice 商品总金额,
-                       e.com_total 业务公司收入总价,
-                       d.goodNum 商品数量,
-                       e.goodNum 产品数量,
-                       d.ownerName 资金创建人,
-                       c.apply_name 认领创建人,
-                       a.addtime    认领创建时间,
-                       b.status 认领审批状态,
-                       b.remark 驳回原因')
+                ->field('a.trade_in_code 收款方公司编码,
+                        a.trade_in  收款单位名称,
+                        d.companyNo 业务公司编码,
+                        d.companyName 业务公司名称,
+                        a.pcCode 资金批次号 ,
+                        a.trade_used 交易用途,
+                        a.trade_time 交易时间,
+                        a.tradNo 资金编号,
+                        b.logNo 资金认领编号,
+                        a.status 状态,
+                        a.total_fee 收入金额,
+                        a.balance 未认领金额,
+                        a.used_fee 已认领金额,
+                        b.total_fee 资金认领金额,
+                        c.orderCode 订单编号,
+                        d.cxCode 销售主单号,
+                        d.ownerName 订单创建人,
+                        d.platform_type 平台类型,
+                        d.platName 平台名称,
+                        d.poCode 平台订单编号,
+                        a.poCode 客户PO,
+                        e.palt_po 平台采购PO,
+                        d.goodNo  商品SKU,
+                        e.skuCode 泰e购SKU,
+                        e.goodNo 商品唯一编号,
+                        d.firstCat 商品一级分类,
+                        d.goodName 产品名称,
+                        e.goodName 平台物料名称,
+                        e.tax 税率,
+                        ""  订单税率,
+                        e.cat_code 税收编码,
+                        "" 订单税收编码,
+                        e.cat_name 税收编码名称,
+                        "" 订单税收编码名称,
+                        d.goodPrice 商品单价,
+                        e.comPrice 业务公司收入单价,
+                        d.totalPrice 商品总金额,
+                        e.com_total 业务公司收入总价,
+                        d.goodNum 商品数量,
+                        e.goodNum 产品数量,
+                        a.trade_account 付款银行单位账号,
+                        a.trade_out 付款银行单位名称,
+                        b.customerNo 认领企业,
+                        if(a.trade_type=0,"自营","平台") as 资金回款类型, 
+                        b.relaNo 关联资金认领编号,
+                        if(b.tag_type=0,"手动创建","自动创建") as 操作类型,
+                        if(d.is_comon=1,"通用订单","自营订单") as 订单业务类型,
+                        a.apply_name 资金创建人,
+                        b.apply_name 认领创建人,
+                        b.addtime    认领创建时间,
+                        b.status 认领审批状态,
+                        b.remark 驳回原因')
                 ->where($where)
                 ->order('b.id desc')
                 ->cursor();
         $platType= [1=>"toB",2=>"toC"];
         foreach ($list as $value){
+            $cate = OrderCategory::where(["code"=>$value["订单编号"],"order_type"=>1])->findOrEmpty();
+            $value['订单税率'] = $cate['tax'] ?? '';
+            $value['订单税收编码'] = $cate['merge_code'] ?? '';
+            $value['订单税收编码名称'] = $cate['short_name'] ?? '';
             $value["付款银行单位账号"] .=' ';
-            $value["认领企业"] =Db::name("customer_info")->where(["companyNo"=>$value["认领企业"]])->value("companyName","");
+            $customer = Db::name("customer_info")->where(["companyNo"=>$value["认领企业"]])->value("companyName","");
+            if($customer=="") $customer = CompanyInfo::where(["companyNo"=>$value["认领企业"]])->value("company_name","");
+            $value["认领企业"] =$customer;
             $value['状态'] = $status[$value['状态']] ?? '';
             $value['认领审批状态'] = $b_status[$value['认领审批状态']] ?? '';
             $value['平台类型'] = $platType[$value['平台类型']] ?? '';

+ 1 - 1
app/common.php

@@ -458,7 +458,7 @@ function excelExport($fileName = '', $headArr = [], $data = [])
                 $value = implode("、", $value);
             }
             $objActSheet->getStyle(PHPExcel_Cell::stringFromColumnIndex($span) . $column)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
-            $objActSheet->setCellValue(PHPExcel_Cell::stringFromColumnIndex($span) . $column, $value);
+            $objActSheet->setCellValueExplicit(PHPExcel_Cell::stringFromColumnIndex($span) . $column, $value);
             $span++;
         }
         $column++;