wugg 7 months ago
parent
commit
729a916f78
2 changed files with 28 additions and 23 deletions
  1. 28 18
      app/user/controller/TaxCategory.php
  2. 0 5
      app/user/model/TaxCategory.php

+ 28 - 18
app/user/controller/TaxCategory.php

@@ -9,6 +9,7 @@ use app\user\model\TaxRelation;
 use app\user\model\TaxRelationLog;use think\App;
 use think\facade\Validate;
 class TaxCategory extends Base{
+    protected $noLogin=["*"];
     public function __construct(App $app) {
         parent::__construct($app);
         $this->model = new \app\user\model\TaxCategory();
@@ -48,7 +49,6 @@ class TaxCategory extends Base{
             "companyNo"=>"",
             "page"=>1,"size"=>15],"post","trim");
         $where=[];
-        $whereor=[];
         if($params["cat_name"]!='') $where[]=["cat_name","like","%".$params["cat_name"]."%"];
         if($params["short_name"]!='') $where[]=["short_name","like","%".$params["short_name"]."%"];
         if($params["income_status"]!=='') $where[]=$params['income_status']==0 ? ['income','=',null] :['income','=',$params['income_status']];
@@ -56,16 +56,14 @@ class TaxCategory extends Base{
         if($params['in_status']!='') $params['in_status']==0 ? ['in_status','=',null] :['in_status','=',$params['in_status']];
         if($params['out_status']!='') $params['out_status']==0 ? ['out_status','=',null] :['out_status','=',$params['out_status']];
         if($params["cat_code"]!='') $where[]=["cat_code|merge_code","like","%".$params["cat_code"]."%"];
-
-        if($params["companyNo"]!='') $whereor=function ($query)use($params){
-            $query->whereOr([['companyNo','=',$params['companyNo']],["companyNo","=",null]]);
-        };
-        $list=$this->model
-        ->with(['TaxCompany'=>['company']])
-        ->withJoin(['tax_company'],'left')
+        if($params["companyNo"]!='') $where[]=["business.companyNo","=",$params["companyNo"]];
+        $list=$this->model->alias("tax_category")
+        ->leftJoin("business","business.status=tax_category.status and business.status=1 and business.is_del=0")
+        ->leftJoin("taxCompany c","business.companyNo=c.companyNo and tax_category.id=c.tax_id")
+        ->field(['tax_category.id','cat_name','short_name','cat_code','merge_code','desc','tax','business.company companyName','business.companyNo','in_status',
+            "out_status","income","output"])
         ->where($where)
-        ->where($whereor)
-        ->order("id desc")->paginate(["page"=>$params["page"],"list_rows"=>$params["size"]])
+        ->order("tax_category.id desc")->paginate(["page"=>$params["page"],"list_rows"=>$params["size"]])
         ->each(function($item){
             $item->income=$item->income??0;
             $item->output=$item->output??0;
@@ -75,8 +73,8 @@ class TaxCategory extends Base{
             $item->outputCn= TaxCompany::$useType[$item->output];
             $item->in_statusCn=TaxCompany::$inStatus[$item->in_status];
             $item->out_statusCn=TaxCompany::$inStatus[$item->out_status];
-        })->visible(["id","cat_name","short_name","cat_code","merge_code","desc","tax","companyName","companyNo","in_status",
-        "out_status","income","output","incomeCn","outputCn","in_statusCn","out_statusCn"]);
+        });
+
         return success("获取成功",["list"=>$list->items(),"count"=>$list->total()]);
     }
 
@@ -130,12 +128,24 @@ class TaxCategory extends Base{
         if($params['in_status']!='') $params['in_status']==0 ? ['in_status','is',null] :['in_status','=',$params['in_status']];
         if($params['out_status']!='') $params['out_status']==0 ? ['out_status','is',null] :['out_status','=',$params['out_status']];
         if($params['cat_code']!='') $where[]=['cat_code|merge_code','like','%'.$params['cat_code'].'%'];
-        if($params['companyNo']!='') $where[]=['companyNo','like','%'.$params['companyNo'].'%'];
-        $list=$this->model->with(['taxCompany'=>['company']])
-        ->withJoin(['taxCompany'],'left')->where($where)
-        ->order('id desc')->limit($params['size'])->select()
-        ->visible(['id','cat_name','short_name','cat_code','merge_code','tax','companyName','companyNo','in_status',
-        'out_status','income','output','incomeCn','outputCn','in_statusCn','out_statusCn']);;
+        if($params['companyNo']!='') $where[]=['business.companyNo','=',$params['companyNo']];
+        $list=$this->model->alias('tax_category')
+        ->leftJoin('business','business.status=tax_category.status and business.status=1 and business.is_del=0')
+        ->leftJoin('taxCompany c','business.companyNo=c.companyNo and tax_category.id=c.tax_id')
+        ->field(['tax_category.id','cat_name','short_name','cat_code','merge_code','desc','tax','business.company companyName','business.companyNo','in_status',
+            'out_status','income','output'])
+        ->where($where)
+        ->order('tax_category.id desc')->paginate(['page'=>$params['page'],'list_rows'=>$params['size']])
+        ->each(function($item){
+            $item->income=$item->income??0;
+            $item->output=$item->output??0;
+            $item->in_status= $item->in_status??0;
+            $item->out_status= $item->out_status??0;
+            $item->incomeCn= TaxCompany::$useType[$item->income];
+            $item->outputCn= TaxCompany::$useType[$item->output];
+            $item->in_statusCn=TaxCompany::$inStatus[$item->in_status];
+            $item->out_statusCn=TaxCompany::$inStatus[$item->out_status];
+        });
         return success('获取成功',$list);
     }
     public function taxCompanyCreate(){

+ 0 - 5
app/user/model/TaxCategory.php

@@ -22,11 +22,6 @@ class TaxCategory extends Base
     public function getTaxAttr($value){
         return  $value==''?[]:explode('、',$value);
     }
-
-    public function TaxCompany(){
-        return $this->belongsTo(TaxCompany::class,'id','tax_id')->bind(['companyNo','companyName','income','output','in_status','out_status']);
-    }
-
     public static function checkTax($taxid,$tax){
         $info=self::where('id',$taxid)->findorEmpty();
         if($info->isEmpty())throw new \Exception('类目不存在');