Browse Source

Merge branch 'dev' into dev_wf

wufeng 2 years ago
parent
commit
4c9720d15d

+ 0 - 1
app/admin/BaseController.php

@@ -61,7 +61,6 @@ class BaseController extends base{
             }else{
             	 $this->level=$level['level']>1 ?2 :($level['level']??1);
             }
-
              return ["code"=>0,"message"=>"验证通过"];
      }
 

+ 1 - 2
app/admin/controller/Login.php

@@ -21,8 +21,7 @@ class Login extends \app\BaseController{
 			 if(!isset($useinfo['code'])|| $useinfo['code']!=0){
 			    return error_show(1004,$useinfo['message']);
 			 }
-			 $role =Db::name("user_role")->where(["uid"=>$useinfo['data']['id'],"is_main"=>1,"status"=>1,
-			 "is_del"=>0])->findOrEmpty();
+			 $role =Db::name("user_role")->where(["uid"=>$useinfo['data']['id'],"is_main"=>1,"is_del"=>0])->findOrEmpty();
 			 if(!empty($role)){
 			 	$company_name = Db::name("supplier_info")->where(["code"=>$role['companyNo']])->value("name","");
 			 	$roleinfo = Db::name("role")->where(["id"=>$role['roleid']])->field("role_name,level")->find();

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

@@ -18,7 +18,7 @@ class Menu extends BaseController{
 	 */
     public function MenuList(){
     	$condition =["status"=>1,"is_del"=>0];
-    	 if($this->level=='') return app_show(101,"账户角色已禁用",[]);
+    	 if($this->level=='') return app_show(10000,"账户角色账户已禁用",[]);
 		if ($this->level!=1){
 			 $role = Db::name("role_action")->where("role_id","=",$this->roleid)->find();
 

+ 42 - 32
app/admin/controller/OrderInv.php

@@ -10,7 +10,14 @@ use think\facade\Db;
 use think\facade\Cache;
 
 class OrderInv extends BaseController{
-	private $typename=["004"=>"增值税专用发票",'007'=>"增值税普通发票",'026'=>'增值税电子普通发票','028'=>'增值税电子专用发票','000'=>"增值税电子发票"];
+	private $typename=[
+		"004"=>"增值税专用发票",
+		'007'=>"增值税普通发票",
+		'026'=>'增值税电子普通发票',
+		'028'=>'增值税电子专用发票',
+		'021'=>"全电专用发票",
+		'022'=>"全电普通发票"
+		];
     public function __construct(App $app) {
         parent::__construct($app);
     }
@@ -740,6 +747,7 @@ class OrderInv extends BaseController{
 		 if(empty($ticket)){
 		        return error_show(1004,"未找到开票的票面信息");
 		  }
+		 $ticket['inv_out'] = $invinfo['inv_out']??"";
 		 $return_type = isset($this->post['return_type'])&&$this->post['return_type']!="" ? intval($this->post['return_type']):0;
 		  if($status==1){
 	        if ($return_type==""){
@@ -756,13 +764,13 @@ class OrderInv extends BaseController{
             $open_date =isset($this->post['open_date'])&&$this->post['open_date']!=''?trim($this->post['open_date']):"";
             $checkCode =isset($this->post['checkCode'])&&$this->post['checkCode']!=''?trim($this->post['checkCode']):"";
             $subtotal_fee =isset($this->post['subtotal_fee'])&&$this->post['subtotal_fee']!=''?floatval($this->post['subtotal_fee']):"";
-                if($invCode==='') return error_show(1004,"参数 invCode 不能为空");
-               if($invNum==='') return error_show(1004,"参数 invNum 不能为空");
-               if($open_date==='') return error_show(1004,"参数 open_date 不能为空");
-                if($invinfo['inv_type']==2 || $invinfo['inv_type']==3){
+            if($invCode==='') return error_show(1004,"参数 invCode 不能为空");
+            if($invNum==='') return error_show(1004,"参数 invNum 不能为空");
+            if($open_date==='') return error_show(1004,"参数 open_date 不能为空");
+            if($invinfo['inv_type']==2 || $invinfo['inv_type']==3){
                	    if($checkCode==='') return error_show(1004,"参数 checkCode 不能为空");
                }
-               if($subtotal_fee==='') return error_show(1004,"参数 subtotal_fee 不能为空");
+            if($subtotal_fee==='') return error_show(1004,"参数 subtotal_fee 不能为空");
             }
         }
 
@@ -778,11 +786,12 @@ class OrderInv extends BaseController{
 			                $this->addRedOpen($ticket,$return_reason,$invinfo['company_type'], $returnCode);
 			            }
 			            if($red==1){
-			                if(date("Y-m",strtotime($ticket["open_date"]))==date("Y-m")){
-								$this->addDiscard($ticket,$returnCode);
-			                }else{
-			                    $this->addApplyRed($ticket,$returnCode);
-			                }
+//			                if(date("Y-m",strtotime($ticket["open_date"]))==date("Y-m")){
+//								$this->addDiscard($ticket,$returnCode);
+//			                }else{
+//			                    $this->addApplyRed($ticket,$returnCode);
+//			                }
+			                 $this->addApplyRed($ticket,$returnCode);
 			            }
             		}else{
 						 $invpool=[
@@ -824,8 +833,8 @@ class OrderInv extends BaseController{
                               $update =[
                                   "winv_fee"=>$qrdinfo['winv_fee']+$value['cancel_fee'],
                                   "inv_fee"=>$qrdinfo['inv_fee']-$value['cancel_fee'],
-                                  "inv_status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']==0 ? 1 : 2,
-                                  "status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']==0 && $qrdinfo['pay_status'] ?0 : 1,
+                                  "inv_status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']-$value['cancel_fee']==0 ? 1 : 2,
+                                  "status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']-$value['cancel_fee']==0 && $qrdinfo['pay_status'] ?0 : 1,
                                   "updatetime"=>date("Y-m-d H:i:s"),
                               ];
                               $qrdup = Db::name("qrd_info")->where($qrdinfo)->update($update);
@@ -912,8 +921,8 @@ class OrderInv extends BaseController{
                           $update =[
                               "winv_fee"=>$qrdinfo['winv_fee']+$value['cancel_fee'],
                               "inv_fee"=>$qrdinfo['inv_fee']-$value['cancel_fee'],
-                              "inv_status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']==0 ? 1 : 2,
-                              "status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']==0 && $qrdinfo['pay_status'] ?0 : 1,
+                              "inv_status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']-$value['cancel_fee']==0 ? 1 : 2,
+                              "status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']-$value['cancel_fee']==0 && $qrdinfo['pay_status'] ?0 : 1,
                               "updatetime"=>date("Y-m-d H:i:s"),
                           ];
                           $qrdup = Db::name("qrd_info")->where($qrdinfo)->update($update);
@@ -1556,7 +1565,7 @@ class OrderInv extends BaseController{
     public function redList(){
     	$page=isset($this->post['page'])&&$this->post['page']!="" ? intval($this->post['page']) :1;
         $size=isset($this->post['size'])&&$this->post['size']!="" ? intval($this->post['size']) :15;
-        $condition=[["is_del","=",0]];
+        $condition=[["is_del","=",0],["FPLXDM","in",["004",'028']]];
         $invRed=isset($this->post["invRed"])&&$this->post["invRed"]!=''?trim($this->post["invRed"]):"";
         if($invRed!=''){
         	$condition[]=["invRed","like","%$invRed%"];
@@ -1706,6 +1715,7 @@ class OrderInv extends BaseController{
 		$data=[
 			'invNo'=>$ticket['invNo'],
 			"invRed"=>$invRed,
+			"inv_out"=>$ticket['inv_out'],
 			"returnCode"=>$returnCode,
 			"apply_id"=>$this->uid,
 			"apply_name"=>$this->uname,
@@ -1800,13 +1810,12 @@ class OrderInv extends BaseController{
 		    "SE"=>sprintf("%01.2f",array_sum(array_column($goodinfo,'SE'))),
 	        ];
 		}else
-			{
-				$qdmx=$goodinfo;
-			}
+		{$qdmx=$goodinfo;}
         $invRed=makeNo("IRE");
 		$reddata=[
 			'invNo'=>$ticket['invNo'],
 			"invRed"=>$invRed,
+			"inv_out"=>$ticket['inv_out'],
 			"returnCode"=>$returnCode,
 			"apply_id"=>$this->uid,
 			"apply_name"=>$this->uname,
@@ -1834,7 +1843,7 @@ class OrderInv extends BaseController{
 			 "FPLXDM"=>$ticket['inv_type'],
 		];
 
-		$data=[	"invNo"=>$invRed,
+							$data=[	"invNo"=>$invRed,
 							"KPLX"=>"1",
 							"XHFSBH"=>$ticket['seller_id'],
 							"XHFMC"=>$ticket['seller_title'],
@@ -1948,7 +1957,6 @@ class OrderInv extends BaseController{
            $condition[]=["a.returnCode","like","%$returnCode%"];
         }
          $count=Db::name("invoice_return")->alias("a")
-
          ->leftJoin("invoice_ticket b","a.invNo=b.invNo and b.type=1")
          ->leftJoin("invoice_pool c","a.invNo=c.invNo")
          ->where($condition)->count();
@@ -2136,7 +2144,7 @@ class OrderInv extends BaseController{
             if($value["inv_number"]==""){
                 return error_show(1005,"第".($key+1)."行缺少发票号码数据");
             }
-            if($value["inv_total"]==""&& $value['inv_type']==="000"){
+            if($value["inv_total"]==""&& in_array($invtype,["021","022"])){
                 return error_show(1005,"第".($key+1)."行缺少发票金额数据");
             }
              if($value["inv_subtotal"]==""){
@@ -2169,7 +2177,7 @@ class OrderInv extends BaseController{
             $temp=[];
             $temp['invNo'] = $value["invNo"];
             $temp['type'] = 0;
-            $temp['inv_type'] =array_search($value['inv_type'],$this->typename) ;
+            $temp['inv_type'] =$invtype ;
             $temp['inv_code'] = $value['inv_code'];
             $temp['inv_number'] = $value['inv_number'];
             $temp['inv_subtotal'] = $value['inv_subtotal'];
@@ -2201,15 +2209,17 @@ class OrderInv extends BaseController{
 		 Db::startTrans();
 		 try{
 		 	$keyarr =array_keys($total);
-		 	$inpool = Db::name("invoice_pool")->where([["invNo","in",$keyarr],["open_type","in",[0,2,3]],["is_del","=",0],["status","=",0]])->column("winv_fee,invNo,inv_value","invNo");
+		 	$invTArr =array_keys($this->typename);
+		 	$inpool = Db::name("invoice_pool")->where([["invNo","in",$keyarr],["open_type","in",[0,2,3]],["is_del","=",0],["status","=",0]])->column("winv_fee,invNo,inv_value,inv_type","invNo");
 
 		 	foreach ($total as $key=>$val){
 				if(!isset($inpool[$key])) continue;
-				if($val['inv_type']==='000' && $inpool[$key]['winv_fee']!=$val['total']){
+				if(in_array($val['inv_type'],["021","022"]) && $inpool[$key]['winv_fee']!=$val['total']){
 					throw new Exception("{$key}全电发票面金额小于未开票金额");
 				}
+				if($invTArr[$inpool[$key]['inv_type']]!= $val['inv_type'] ) throw new Exception("{$key}发票类型有误");
 				$update=[
-					"status"=>$val['inv_type']==='000'?3:2,
+					"status"=>in_array($val['inv_type'],["021","022"])?3:2,
 					"open_type"=>$inpool[$key]['open_type']??3,
 					"updatetime"=>date("Y-m-d H:i:s")
 				];
@@ -2254,14 +2264,14 @@ class OrderInv extends BaseController{
                  }
             }
 		 	}
-		 	$inticket =Db::name("invoice_ticket")->insertAll($list);
-		 	 if(!$inticket){
-                Db::rollback();
-                return error_show(1005,"发票数据录入失败");
-            }else{
+		 	        $inticket =Db::name("invoice_ticket")->insertAll($list);
+			     if(!$inticket){
+	                Db::rollback();
+	                return error_show(1005,"发票数据录入失败");
+	            }
                 Db::commit();
                 return app_show(0,"发票数据录入成功");
-            }
+
 		 }catch (\Exception $e){
 		 	Db::rollback();
 		 	return error_show(1008,$e->getMessage());

+ 28 - 23
app/admin/controller/OrderPay.php

@@ -20,7 +20,6 @@ class OrderPay extends BaseController{
         }
        Db::startTrans();
         try{
-            $logNo=makeNo("TRC");
             $trade =Db::name("trade")->where(["tradNo"=>$tradNo,"is_del"=>0])->lock(true)->findOrEmpty();
             if(empty($trade)){
                 Db::rollback();
@@ -33,6 +32,7 @@ class OrderPay extends BaseController{
             }
             $assoc=[];
             foreach ($orderArr as $value){
+            	$logNo=makeNo("TRC");
                 if(!isset($value['sequenceNo'])||$value['sequenceNo']==""){
                     Db::rollback();
                    return error_show(1004,"销售单编号不能为空");
@@ -78,7 +78,24 @@ class OrderPay extends BaseController{
                     "updatetime"=>date("Y-m-d H:i:s")
                 ];
                 $assoc[]=$temp;
-                 $report=ReportCode::where(["qrdNo"=>$value['sequenceNo']])->find();
+                $create = [
+                    "logNo"=>$logNo,
+                    "tradNo"=>$tradNo,
+                    "companyNo"=>$trade['companyNo'],
+                    "apply_id"=>$this->uid,
+                    "apply_name"=>$this->uname,
+                    "trade_time"=>$trade['trade_time'],
+                    "total_fee"=>$value['trad_fee'],
+                    "status"=>1,
+                    "addtime"=>date("Y-m-d H:i:s"),
+                    "updatetime"=>date("Y-m-d H:i:s")
+                ];
+                $tradchild =Db::name("trade_pool")->insert($create);
+                if($tradchild ==false){
+                    Db::rollback();
+                    return error_show(1004,"资金认领失败");
+                }
+                  $report=ReportCode::where(["qrdNo"=>$value['sequenceNo']])->find();
                  if($report)$report->setField("logNo",$logNo);
                  if($report)$report->setField("tradNo",$tradNo);
             }
@@ -95,23 +112,8 @@ class OrderPay extends BaseController{
             ];
             $tradup=Db::name("trade")->where($trade)->update($update);
             if($tradup){
-                $create = [
-                    "logNo"=>$logNo,
-                    "tradNo"=>$tradNo,
-                    "companyNo"=>$trade['companyNo'],
-                    "apply_id"=>$this->uid,
-                    "apply_name"=>$this->uname,
-                    "trade_time"=>$trade['trade_time'],
-                    "total_fee"=>$total_fee,
-                    "status"=>1,
-                    "addtime"=>date("Y-m-d H:i:s"),
-                    "updatetime"=>date("Y-m-d H:i:s")
-                ];
-                $tradchild =Db::name("trade_pool")->insert($create);
-                if($tradchild){
-                    Db::commit();
-                    return app_show(0,"资金认领成功",["logNo"=>$logNo]);
-                }
+            	   Db::commit();
+                    return app_show(0,"资金认领成功");
             }
              Db::rollback();
              return error_show(1004,"资金认领失败");
@@ -133,15 +135,16 @@ class OrderPay extends BaseController{
         $status=isset($this->post['status'])&&$this->post['status']!=""?intval($this->post['status']):"";
         if($status==""){
             return error_show(1004,"参数 status 不能为空");
+        }
+        if($status==5 &&$logingo['status']!=1 ){
+        	 return error_show(1004,"认领资金状态有误");
         }
          $remark=isset($this->post['remark'])&&$this->post['remark']!=""?trim($this->post['remark']):"";
          $trade =Db::name("trade")->where(["tradNo"=>$logingo['tradNo'],"is_del"=>0])->findOrEmpty();
          if(empty($trade)){
          	return error_show(1005,"资金信息未找到");
          }
-//        if($remark==""){
-//            return error_show(1004,"参数 remark 不能为空");
-//        }
+
         Db::startTrans();
         try {
             $up=["status"=>$status,"updatetime"=>date("Y-m-d H:i:s"),"remark"=>$remark];
@@ -185,7 +188,7 @@ class OrderPay extends BaseController{
                         }
 				 }
                 }
-                if($status==3){
+                if($status==3 || $status==5){
                     $qrdArr=Db::name("assoc")->where(["viceCode"=>$logNo,"status"=>1,"is_del"=>0])->select()->toArray();
                     if(!empty($qrdArr)){
                         foreach ($qrdArr as $value){
@@ -478,6 +481,7 @@ class OrderPay extends BaseController{
             "logNo"=>$logNo,
             "companyNo"=>$tradinfo['companyNo'],
             "tradNo"=>$loginfo['tradNo'],
+            "return_img"=>'',
             "type"=>$type,
             "apply_id"=>$this->uid,
             "apply_name"=>$this->uname,
@@ -808,6 +812,7 @@ class OrderPay extends BaseController{
         }
     }
 	/**
+     * 资金导入
 	 * @return \think\response\Json|void
 	 */
     public function importTradeByArr()

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

@@ -36,7 +36,7 @@ class Payment extends BaseController
              '10'=>"electronic",//"增值税电子普通发票",
              '14'=>"toll",//"增值税电子普通发票(通行费)"
              '21'=>"fully_digitalized_special_electronic",//"全电专用发票"
-             '22'=>"fully_digitalized_normal_electronic",//"全电专用发票"
+             '22'=>"fully_digitalized_normal_electronic",//"全电普通发票"
 
         ];
 //

+ 2 - 2
app/admin/controller/User.php

@@ -197,7 +197,7 @@ class User extends BaseController{
             return app_show(1002,"员工信息不存在");
         }
         $data = $userinfo['data'];
-        $where=[["uid","=", $data['id']],["status","=",1],["is_del","=",0]];
+        $where=[["uid","=", $data['id']],["is_del","=",0]];
         if($post['relaComNo']!=""){
         	$where[]=["companyNo","=",$post['relaComNo']];
         }else{
@@ -213,7 +213,7 @@ class User extends BaseController{
          if(!empty($data['company_relaton'])){
          	 $roleArr = Db::name("user_role")->alias("a")
 				        ->leftJoin("role b","a.roleid=b.id")
-				        ->where(["a.status"=>1,"a.is_del"=>0,"a.uid"=>$data['id']])
+				        ->where(["a.is_del"=>0,"a.uid"=>$data['id']])
 				        ->column("role_name,roleid,a.status,b.level","a.companyNo");
          	foreach ($data['company_relaton'] as &$item){
          		$item['roleid'] =isset($roleArr[$item['companyCode']])?$roleArr[$item['companyCode']]['roleid']:"";